{"id":371600,"url":"https://github.com/python-hyper/brotlicffi","last_synced_at":"2026-08-25T14:10:52.445Z","repository":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-08-24T14:43:06.000Z","size":270,"stargazers_count":154,"open_issues_count":14,"forks_count":32,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-25T00:36:50.387Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-24T14:50:45.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36891153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-25T02:00:06.831Z","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":{"login":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"packages":[{"id":13074475,"name":"python311Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:28:19.595Z","latest_release_published_at":"2026-02-01T17:28:19.595Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-03-08T02:31:16.238Z","created_at":"2026-02-01T17:28:15.635Z","updated_at":"2026-08-17T23:50:33.879Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python311Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python311Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/brotlicffi/default.nix#L39","metadata":{"nix_attribute":"python3.11-brotlicffi-1.1.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:39","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:50:33.878Z","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:nix/python311Packages.brotlicffi?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5052,"html_url":null,"role":null,"created_at":"2026-03-08T02:31:16.488Z","updated_at":"2026-03-08T02:31:16.488Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":3349},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-08-24T05:04:31.033Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":10343846,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-04-01T16:25:43.387Z","created_at":"2024-06-11T09:35:30.760Z","updated_at":"2026-08-18T00:24:16.775Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:24:16.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-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.20","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"arx","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=arx","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=arx","role":null,"created_at":"2024-06-12T00:57:32.627Z","updated_at":"2024-06-12T00:57:32.627Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/thinkabit.ukim@gmail.com/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":11138255,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-03-11T22:56:04.933Z","created_at":"2024-12-07T12:23:27.054Z","updated_at":"2026-08-17T23:48:21.667Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:48:21.667Z","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-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.21","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2024-12-13T08:16:34.186Z","updated_at":"2024-12-13T08:16:34.186Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers/thinkabit.ukim@gmail.com/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":5283019,"name":"brotlicffi","ecosystem":"conda","description":null,"homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2021-11-06T13:07:10.000Z","latest_release_published_at":"2021-11-06T13:07:10.000Z","latest_release_number":"1.0.9.2","last_synced_at":"2026-04-02T15:47:55.960Z","created_at":"2022-10-03T15:38:42.889Z","updated_at":"2026-08-18T00:12:50.378Z","registry_url":"https://anaconda.org/conda-forge/brotlicffi","install_command":"conda install -c conda-forge brotlicffi","documentation_url":null,"metadata":{},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:12:50.378Z","dependent_packages_count":3,"downloads":null,"downloads_period":null,"dependent_repos_count":1,"rankings":{"downloads":null,"dependent_repos_count":24.397425021208644,"dependent_packages_count":15.649483507161035,"stargazers_count":30.06637057737412,"forks_count":33.72922800538949,"docker_downloads_count":null,"average":25.96062677778332},"purl":"pkg:conda/brotlicffi?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/brotlicffi/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":5285177,"name":"brotlicffi","ecosystem":"conda","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2021-12-29T18:49:02.000Z","latest_release_published_at":"2026-08-11T10:27:40.000Z","latest_release_number":"1.2.0.1","last_synced_at":"2026-08-11T18:34:06.352Z","created_at":"2022-10-03T15:42:12.523Z","updated_at":"2026-08-18T01:02:52.842Z","registry_url":"https://anaconda.org/anaconda/brotlicffi","install_command":"conda install -c anaconda brotlicffi","documentation_url":null,"metadata":{},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T01:02:52.841Z","dependent_packages_count":1,"downloads":62678,"downloads_period":"total","dependent_repos_count":1,"rankings":{"downloads":null,"dependent_repos_count":51.40440954394443,"dependent_packages_count":30.655391120507396,"stargazers_count":41.31682271217155,"forks_count":44.66928420416792,"docker_downloads_count":null,"average":42.01147689519782},"purl":"pkg:conda/brotlicffi","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/brotlicffi/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":8614590,"name":"github.com/python-hyper/brotlicffi","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":null,"versions_count":10,"first_release_published_at":"2023-12-02T02:14:43.757Z","latest_release_published_at":"2020-11-30T19:21:32.000Z","latest_release_number":"v0.8.0","last_synced_at":"2026-08-23T13:07:59.357Z","created_at":"2023-12-02T02:14:40.006Z","updated_at":"2026-08-23T13:07:59.358Z","registry_url":"https://pkg.go.dev/github.com/python-hyper/brotlicffi","install_command":"go get github.com/python-hyper/brotlicffi","documentation_url":"https://pkg.go.dev/github.com/python-hyper/brotlicffi#section-documentation","metadata":{},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:48:22.110Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":4.0658113885208875,"forks_count":4.2898146538863005,"docker_downloads_count":null,"average":7.183237224167758},"purl":"pkg:golang/github.com/python-hyper/brotlicffi","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/python-hyper/brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/python-hyper/brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/python-hyper/brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-hyper%2Fbrotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-hyper%2Fbrotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-hyper%2Fbrotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-hyper%2Fbrotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-hyper%2Fbrotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-hyper%2Fbrotlicffi/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2281895,"maintainers_count":0,"namespaces_count":839487,"keywords_count":124977,"github":"golang","metadata":{"funded_packages_count":67925,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-08-24T05:01:22.286Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":2661029,"name":"brotlicffi","ecosystem":"pypi","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2020-11-30T19:45:17.000Z","latest_release_published_at":"2020-11-30T19:45:17.000Z","latest_release_number":"0.8.0","last_synced_at":"2026-08-23T13:10:09.589Z","created_at":"2022-04-10T10:15:10.668Z","updated_at":"2026-08-23T13:30:53.093Z","registry_url":"https://pypi.org/project/brotlicffi/","install_command":"pip install brotlicffi --index-url https://pypi.org/simple","documentation_url":"https://brotlicffi.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Free Threading :: 2 - Beta","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy"],"normalized_name":"brotlicffi","project_status":null},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-23T13:30:53.093Z","dependent_packages_count":28,"downloads":3733461,"downloads_period":"last-month","dependent_repos_count":1431,"rankings":{"downloads":0.718032431321739,"dependent_repos_count":0.2979435048886707,"dependent_packages_count":0.5466206741718401,"stargazers_count":5.928254944653379,"forks_count":7.3049445634922145,"docker_downloads_count":1.703186625647114,"average":2.7498304573624925},"purl":"pkg:pypi/brotlicffi","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/brotlicffi","docker_dependents_count":44,"docker_downloads_count":5374940,"usage_url":"https://repos.ecosyste.ms/usage/pypi/brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-22T12:36:35.165Z","issues_count":35,"pull_requests_count":91,"avg_time_to_close_issue":26696746.96153846,"avg_time_to_close_pull_request":7392525.283950618,"issues_closed_count":26,"pull_requests_closed_count":81,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.8571428571428572,"avg_comments_per_pull_request":0.8131868131868132,"merged_pull_requests_count":68,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":1800986.0,"past_year_avg_time_to_close_pull_request":130630.14285714286,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":3.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":6,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/brotlicffi/codemeta","maintainers":[{"uuid":"SethMichaelLarson","login":"SethMichaelLarson","name":null,"email":null,"url":null,"packages_count":41,"html_url":"https://pypi.org/user/SethMichaelLarson/","role":null,"created_at":"2023-02-06T17:59:33.195Z","updated_at":"2023-02-06T17:59:33.195Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/SethMichaelLarson/packages"},{"uuid":"Nathan.Goldbaum","login":"Nathan.Goldbaum","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://pypi.org/user/Nathan.Goldbaum/","role":"Owner","created_at":"2026-03-05T20:44:39.019Z","updated_at":"2026-03-05T20:44:39.019Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Nathan.Goldbaum/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930432,"maintainers_count":399684,"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"}},{"id":13952978,"name":"python-brotlicffi","ecosystem":"guix","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2026-03-02T19:44:59.131Z","latest_release_published_at":"2026-04-03T03:16:21.505Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-04-27T16:43:21.796Z","created_at":"2026-03-02T19:44:58.927Z","updated_at":"2026-08-17T23:48:21.808Z","registry_url":"https://packages.guix.gnu.org/packages/python-brotlicffi/1.0.9.2/","install_command":"guix install python-brotlicffi","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python-compression.scm#n451","metadata":{"location":"gnu/packages/python-compression.scm:451","variable_name":"python-brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:48:21.808Z","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-brotlicffi","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/python-brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/python-brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/python-brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-brotlicffi/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":13201986,"name":"python312Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:50:47.130Z","latest_release_published_at":"2026-02-02T00:50:47.130Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-08-09T12:01:15.114Z","created_at":"2026-02-02T00:50:41.009Z","updated_at":"2026-08-17T23:40:32.641Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python312Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python312Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/brotlicffi/default.nix#L39","metadata":{"nix_attribute":"python3.12-brotlicffi-1.1.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:39","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:40:32.641Z","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:nix/python312Packages.brotlicffi?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4856,"html_url":null,"role":null,"created_at":"2026-03-09T04:05:10.222Z","updated_at":"2026-03-09T04:05:10.222Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":3165},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-08-24T05:01:24.965Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":8676328,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_number":"0.7.0-r5","last_synced_at":"2026-03-22T19:12:33.088Z","created_at":"2023-12-20T10:26:29.043Z","updated_at":"2026-08-17T23:43:45.816Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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-17T23:43:45.816Z","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-brotlipy-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-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2024-10-29T22:13:57.445Z","updated_at":"2024-10-29T22:13:57.445Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/thinkabit.ukim@gmail.com/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":11773632,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-03-11T22:53:43.188Z","created_at":"2025-06-08T00:44:30.352Z","updated_at":"2026-08-17T23:44:38.842Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:44:38.841Z","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":20.63679245283019,"forks_count":22.87355447352404,"docker_downloads_count":null,"average":10.877586731588558},"purl":"pkg:apk/alpine/py3-brotlipy-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-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2025-06-08T22:51:54.792Z","updated_at":"2025-06-08T22:51:54.792Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers/thinkabit.ukim@gmail.com/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":12884103,"name":"python314Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-27T06:33:02.116Z","latest_release_published_at":"2026-01-27T06:33:02.116Z","latest_release_number":"1.2.0.0","last_synced_at":"2026-08-11T18:10:21.259Z","created_at":"2026-01-27T06:33:01.855Z","updated_at":"2026-08-17T23:48:21.604Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python314Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python314Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/brotlicffi/default.nix#L53","metadata":{"nix_attribute":"python3.14-brotlicffi-1.2.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:53","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:48:21.604Z","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:nix/python314Packages.brotlicffi?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python314Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python314Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python314Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5658,"html_url":null,"role":null,"created_at":"2026-03-05T10:09:50.380Z","updated_at":"2026-03-05T10:09:50.380Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":153756,"maintainers_count":4901,"namespaces_count":0,"keywords_count":3257,"github":"NixOS","metadata":{"funded_packages_count":5996},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-08-24T05:00:11.845Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":6103319,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2022-07-26T04:43:05.000Z","latest_release_published_at":"2022-07-26T04:43:05.000Z","latest_release_number":"0.7.0-r3","last_synced_at":"2026-07-28T05:02:09.291Z","created_at":"2023-01-31T20:54:55.212Z","updated_at":"2026-08-17T23:51:10.016Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.17/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:51:10.016Z","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":15.976198495565285,"forks_count":18.092511507802854,"average":15.33063882339733},"purl":"pkg:apk/alpine/py3-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.17","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":6,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2023-02-01T08:03:03.322Z","updated_at":"2023-02-01T08:03:03.322Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers/thinkabit.ukim@gmail.com/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":11773630,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-03-11T22:53:31.836Z","created_at":"2025-06-08T00:44:29.259Z","updated_at":"2026-08-18T00:00:31.178Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:00:31.178Z","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":20.63679245283019,"forks_count":22.87355447352404,"docker_downloads_count":null,"average":10.877586731588558},"purl":"pkg:apk/alpine/py3-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.22","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2025-06-08T22:51:52.606Z","updated_at":"2025-06-08T22:51:52.606Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers/thinkabit.ukim@gmail.com/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":12825139,"name":"python311Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T18:48:28.182Z","latest_release_published_at":"2026-01-26T18:48:28.182Z","latest_release_number":"1.0.9.2","last_synced_at":"2026-04-03T08:07:33.628Z","created_at":"2026-01-26T18:48:28.031Z","updated_at":"2026-08-18T00:01:58.736Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python311Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python311Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/brotlicffi/default.nix#L43","metadata":{"nix_attribute":"python3.11-brotlicffi-1.0.9.2","position":"pkgs/development/python-modules/brotlicffi/default.nix:43","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:01:58.736Z","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:nix/python311Packages.brotlicffi?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":3335,"html_url":null,"role":null,"created_at":"2026-03-03T07:25:16.549Z","updated_at":"2026-03-03T07:25:16.549Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":2146},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-08-24T05:04:28.515Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":13294291,"name":"python310Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:22:11.320Z","latest_release_published_at":"2026-02-02T06:22:11.320Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-04-10T12:02:21.410Z","created_at":"2026-02-02T06:22:09.125Z","updated_at":"2026-08-18T00:02:19.368Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python310Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python310Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/brotlicffi/default.nix#L43","metadata":{"nix_attribute":"python3.10-brotlicffi-1.1.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:43","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:02:19.368Z","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:nix/python310Packages.brotlicffi?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4331,"html_url":null,"role":null,"created_at":"2026-03-03T21:19:33.441Z","updated_at":"2026-03-03T21:19:33.441Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":3080},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-08-24T05:04:51.596Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":7597420,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":3,"first_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_published_at":"2025-12-04T20:08:13.000Z","latest_release_number":"0.7.0-r7","last_synced_at":"2026-04-19T01:08:23.804Z","created_at":"2023-04-18T20:47:12.910Z","updated_at":"2026-08-18T00:08:13.299Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:08:13.298Z","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.388848354517874,"stargazers_count":19.27224233187274,"forks_count":21.371689845684894,"average":13.758195133018877},"purl":"pkg:apk/alpine/py3-brotlipy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":10,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2023-04-19T02:09:36.211Z","updated_at":"2023-04-19T02:09:36.211Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/thinkabit.ukim@gmail.com/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":13463032,"name":"python-brotlicffi","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/python-hyper/brotlicffi","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T11:36:30.125Z","latest_release_published_at":"2026-02-09T11:36:30.125Z","latest_release_number":"1.1.0.0+ds1-1","last_synced_at":"2026-03-09T12:04:03.984Z","created_at":"2026-02-09T11:36:29.811Z","updated_at":"2026-08-18T00:11:32.138Z","registry_url":"https://launchpad.net/ubuntu/+source/python-brotlicffi","install_command":"apt-get install python-brotlicffi","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"python3-brotlicffi","standards_version":"4.7.0","maintainer":"Debian Python Team \u003cteam+python@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, libbrotli-dev, python3-all, python3-all-dev, python3-build, python3-cffi, python3-hypothesis \u003c!nocheck\u003e, python3-pip, python3-pytest \u003c!nocheck\u003e, python3-setuptools","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:11:32.138Z","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:deb/ubuntu/python-brotlicffi?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/python-brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/python-brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/python-brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/python-brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/python-brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/python-brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/python-brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/python-brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/python-brotlicffi/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":1440,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1308},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-08-24T05:05:15.657Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":6054749,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":4,"first_release_published_at":"2022-11-22T19:33:35.000Z","latest_release_published_at":"2025-12-04T20:08:13.000Z","latest_release_number":"0.7.0-r7","last_synced_at":"2026-04-19T01:08:23.927Z","created_at":"2023-01-31T18:44:05.682Z","updated_at":"2026-08-18T00:11:33.033Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:11:33.033Z","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.64073262366938,"stargazers_count":19.090482154038824,"forks_count":20.812460864120226,"average":13.635918910457107},"purl":"pkg:apk/alpine/py3-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":10,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2023-01-31T22:48:24.835Z","updated_at":"2023-01-31T22:48:24.835Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/thinkabit.ukim@gmail.com/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":13008262,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-04-08T21:06:47.708Z","created_at":"2026-01-31T00:33:58.635Z","updated_at":"2026-08-18T00:32:26.140Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:32:26.140Z","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-brotlipy-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-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2026-03-03T15:28:53.960Z","updated_at":"2026-03-03T15:28:53.960Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers/thinkabit.ukim@gmail.com/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":13083339,"name":"python312Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:55:46.521Z","latest_release_published_at":"2026-02-01T17:55:46.521Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-03-07T15:15:00.245Z","created_at":"2026-02-01T17:55:42.359Z","updated_at":"2026-08-18T00:32:26.238Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python312Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python312Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/brotlicffi/default.nix#L39","metadata":{"nix_attribute":"python3.12-brotlicffi-1.1.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:39","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:32:26.238Z","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:nix/python312Packages.brotlicffi?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5052,"html_url":null,"role":null,"created_at":"2026-03-07T15:15:00.398Z","updated_at":"2026-03-07T15:15:00.398Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":3349},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-08-24T05:04:31.033Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":12860560,"name":"python313Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-27T01:12:10.067Z","latest_release_published_at":"2026-01-27T01:12:10.067Z","latest_release_number":"1.2.0.0","last_synced_at":"2026-08-12T08:07:07.472Z","created_at":"2026-01-27T01:12:09.845Z","updated_at":"2026-08-18T00:32:26.250Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python313Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python313Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/brotlicffi/default.nix#L53","metadata":{"nix_attribute":"python3.13-brotlicffi-1.2.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:53","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:32:26.250Z","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:nix/python313Packages.brotlicffi?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python313Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python313Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python313Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":5658,"html_url":null,"role":null,"created_at":"2026-03-05T14:07:53.303Z","updated_at":"2026-03-05T14:07:53.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":153756,"maintainers_count":4901,"namespaces_count":0,"keywords_count":3257,"github":"NixOS","metadata":{"funded_packages_count":5996},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-08-24T05:00:11.845Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":14523231,"name":"archivers/py-brotlicffi","ecosystem":"pkgsrc","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["archivers","python"],"namespace":"archivers","versions_count":1,"first_release_published_at":"2026-03-19T05:27:02.000Z","latest_release_published_at":"2026-03-19T05:27:02.000Z","latest_release_number":"1.2.0.1","last_synced_at":"2026-05-27T05:18:51.511Z","created_at":"2026-05-27T05:18:51.155Z","updated_at":"2026-08-18T00:39:02.806Z","registry_url":"https://pkgsrc.se/archivers/py-brotlicffi","install_command":"pkg_add py314-brotlicffi","documentation_url":"https://pkgsrc.se/archivers/py-brotlicffi","metadata":{"pkg_slug":"py-brotlicffi","pkgbase":"py311-brotlicffi","machine_arch":"x86_64","opsys":"NetBSD","pkgname_latest":"py311-brotlicffi-1.2.0.1"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:39:02.806Z","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:pkgsrc/archivers/py-brotlicffi?arch=x86_64\u0026os=NetBSD","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pkgsrc/archivers/py-brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pkgsrc/archivers/py-brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pkgsrc/archivers/py-brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/archivers%2Fpy-brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/archivers%2Fpy-brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/archivers%2Fpy-brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/archivers%2Fpy-brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/archivers%2Fpy-brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/archivers%2Fpy-brotlicffi/codemeta","maintainers":[],"registry":{"name":"pkgsrc-netbsd-x86_64-10.1-all","url":"https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.1/All","ecosystem":"pkgsrc","default":true,"packages_count":19690,"maintainers_count":0,"namespaces_count":43,"keywords_count":368,"github":"pkgsrc","metadata":{"funded_packages_count":479},"icon_url":"https://github.com/pkgsrc.png","created_at":"2026-05-26T08:59:24.518Z","updated_at":"2026-08-24T05:00:24.175Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/namespaces"}},{"id":12812580,"name":"python310Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T16:38:49.288Z","latest_release_published_at":"2026-01-26T16:38:49.288Z","latest_release_number":"1.0.9.2","last_synced_at":"2026-04-17T17:05:30.967Z","created_at":"2026-01-26T16:38:49.110Z","updated_at":"2026-08-18T00:39:04.753Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python310Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python310Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/brotlicffi/default.nix#L43","metadata":{"nix_attribute":"python3.10-brotlicffi-1.0.9.2","position":"pkgs/development/python-modules/brotlicffi/default.nix:43","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:39:04.753Z","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:nix/python310Packages.brotlicffi?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":3335,"html_url":null,"role":null,"created_at":"2026-03-04T18:26:02.363Z","updated_at":"2026-03-04T18:26:02.363Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":2146},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-08-24T05:04:28.515Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":13664073,"name":"python-brotlicffi","ecosystem":"debian","description":null,"homepage":"https://github.com/python-hyper/brotlicffi","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T09:58:13.437Z","latest_release_published_at":"2026-02-12T09:58:13.437Z","latest_release_number":"1.1.0.0+ds1-1","last_synced_at":"2026-03-14T09:02:05.133Z","created_at":"2026-02-12T09:58:13.256Z","updated_at":"2026-08-18T00:50:46.116Z","registry_url":"https://tracker.debian.org/pkg/python-brotlicffi","install_command":"apt-get install python-brotlicffi","documentation_url":"https://packages.debian.org/trixie/python-brotlicffi","metadata":{"component":"main","architecture":"any","priority":"optional","binary":"python3-brotlicffi","standards_version":"4.7.0","maintainer":"Debian Python Team \u003cteam+python@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, libbrotli-dev, python3-all, python3-all-dev, python3-build, python3-cffi, python3-hypothesis \u003c!nocheck\u003e, python3-pip, python3-pytest \u003c!nocheck\u003e, python3-setuptools","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T00:50:46.116Z","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:deb/debian/python-brotlicffi?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/python-brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/python-brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/python-brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/python-brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/python-brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/python-brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/python-brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/python-brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/python-brotlicffi/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":1985,"github":"debian","metadata":{"codename":"trixie","funded_packages_count":1681},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-08-24T05:05:13.674Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":13008265,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-04-08T21:06:47.939Z","created_at":"2026-01-31T00:34:00.371Z","updated_at":"2026-08-18T01:01:18.296Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T01:01:18.296Z","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-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.23","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2026-03-03T15:28:48.451Z","updated_at":"2026-03-03T15:28:48.451Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers/thinkabit.ukim@gmail.com/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":13301970,"name":"python311Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:49:43.352Z","latest_release_published_at":"2026-02-02T06:49:43.352Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-03-07T09:40:04.049Z","created_at":"2026-02-02T06:49:34.740Z","updated_at":"2026-08-18T01:02:52.815Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python311Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python311Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/brotlicffi/default.nix#L43","metadata":{"nix_attribute":"python3.11-brotlicffi-1.1.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:43","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T01:02:52.815Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/python311Packages.brotlicffi?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4331,"html_url":null,"role":null,"created_at":"2026-03-07T09:40:04.347Z","updated_at":"2026-03-07T09:40:04.347Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":3080},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-08-24T05:04:51.596Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":10343847,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-03-11T23:09:44.451Z","created_at":"2024-06-11T09:35:34.625Z","updated_at":"2026-08-18T01:11:50.879Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T01:11:50.878Z","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-brotlipy-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-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"arx","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=arx","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=arx","role":null,"created_at":"2024-06-12T00:57:35.985Z","updated_at":"2024-06-12T00:57:35.985Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/thinkabit.ukim@gmail.com/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":7778229,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_number":"0.7.0-r5","last_synced_at":"2026-08-05T22:05:28.310Z","created_at":"2023-05-22T14:17:36.408Z","updated_at":"2026-08-18T01:18:24.476Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T01:18:24.476Z","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":17.684903496084985,"forks_count":19.859358635479527,"docker_downloads_count":null,"average":9.386065532891127},"purl":"pkg:apk/alpine/py3-brotlipy-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-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2023-05-23T07:00:55.339Z","updated_at":"2023-05-23T07:00:55.339Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/thinkabit.ukim@gmail.com/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":11138260,"name":"py3-brotlipy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-brotlipy","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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-r6","last_synced_at":"2026-03-11T22:54:48.953Z","created_at":"2024-12-07T12:23:33.450Z","updated_at":"2026-08-18T01:41:35.534Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/py3-brotlipy-pyc","install_command":"apk add py3-brotlipy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T01:41:35.534Z","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-brotlipy-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-brotlipy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-brotlipy-pyc/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2024-12-13T08:16:34.154Z","updated_at":"2024-12-13T08:16:34.154Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers/thinkabit.ukim@gmail.com/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":8676327,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_number":"0.7.0-r5","last_synced_at":"2026-07-24T19:46:05.338Z","created_at":"2023-12-20T10:26:28.933Z","updated_at":"2026-08-18T01:45:18.042Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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-18T01:45:18.041Z","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-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.19","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2024-08-26T12:59:38.702Z","updated_at":"2024-08-26T12:59:38.702Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/thinkabit.ukim@gmail.com/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":13193704,"name":"python311Packages.brotlicffi","ecosystem":"nixpkgs","description":"Python CFFI bindings to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:18:13.321Z","latest_release_published_at":"2026-02-02T00:18:13.321Z","latest_release_number":"1.1.0.0","last_synced_at":"2026-05-07T23:07:22.541Z","created_at":"2026-02-02T00:18:07.889Z","updated_at":"2026-08-18T02:12:57.441Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python311Packages.brotlicffi","install_command":"nix-env -iA nixpkgs.python311Packages.brotlicffi","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/brotlicffi/default.nix#L39","metadata":{"nix_attribute":"python3.11-brotlicffi-1.1.0.0","position":"pkgs/development/python-modules/brotlicffi/default.nix:39","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"brotlicffi","upstream_purl":"pkg:pypi/brotlicffi"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T02:12:57.441Z","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:nix/python311Packages.brotlicffi?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.brotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.brotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.brotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.brotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.brotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.brotlicffi/codemeta","maintainers":[{"uuid":"fabaff","login":null,"name":"Fabian Affolter","email":"mail@fabian-affolter.ch","url":"https://github.com/fabaff","packages_count":4856,"html_url":null,"role":null,"created_at":"2026-03-07T02:09:07.685Z","updated_at":"2026-03-07T02:09:07.685Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers/fabaff/packages"}],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":3165},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-08-24T05:01:24.965Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":14511973,"name":"dev-python/brotlicffi","ecosystem":"gentoo","description":"Python binding to the Brotli library","homepage":"https://github.com/python-hyper/brotlicffi/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","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":"1.2.0.1","last_synced_at":"2026-05-27T02:20:17.816Z","created_at":"2026-05-27T02:20:17.158Z","updated_at":"2026-08-18T02:20:17.856Z","registry_url":"https://packages.gentoo.org/packages/dev-python/brotlicffi","install_command":"emerge dev-python/brotlicffi","documentation_url":"https://packages.gentoo.org/packages/dev-python/brotlicffi","metadata":{"category":"dev-python","slot":"0","eapi":"8","inherit":"distutils-r1","iuse":"test python_targets_pypy3_11 python_targets_python3_14t python_targets_python3_15t python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 python_targets_python3_15 debug"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":154,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-17T23:27:46.665Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-14T19:44:05.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36752560,"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-17T02:00:06.698Z","response_time":86,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-18T02:20:17.855Z","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/brotlicffi","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-python/brotlicffi","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-python/brotlicffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-python/brotlicffi/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fbrotlicffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fbrotlicffi/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fbrotlicffi/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fbrotlicffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fbrotlicffi/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fbrotlicffi/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":7778228,"name":"py3-brotlipy","ecosystem":"alpine","description":"Python bindings for the Brotli compression library","homepage":"https://github.com/python-hyper/brotlicffi","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/python-hyper/brotlicffi","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_published_at":"2023-04-18T20:12:09.000Z","latest_release_number":"0.7.0-r5","last_synced_at":"2026-03-22T19:29:47.157Z","created_at":"2023-05-22T14:17:36.192Z","updated_at":"2026-08-17T23:48:21.722Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/py3-brotlipy","install_command":"apk add py3-brotlipy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":45773979,"uuid":"43543393","full_name":"python-hyper/brotlicffi","owner":"python-hyper","description":"Python bindings to the Brotli compression library","archived":false,"fork":false,"pushed_at":"2026-03-05T18:47:56.000Z","size":263,"stargazers_count":153,"open_issues_count":14,"forks_count":31,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-13T08:52:30.449Z","etag":null,"topics":["brotli","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-hyper.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2015-10-02T08:45:45.000Z","updated_at":"2026-08-10T15:39:40.000Z","dependencies_parsed_at":"2025-12-12T02:05:04.348Z","dependency_job_id":null,"html_url":"https://github.com/python-hyper/brotlicffi","commit_stats":{"total_commits":302,"total_committers":18,"mean_commits":16.77777777777778,"dds":0.5,"last_synced_commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"previous_names":["python-hyper/brotlipy"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/python-hyper/brotlicffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/sbom","scorecard":{"id":752187,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-hyper/brotlicffi","commit":"8e27c661a3e18cbc46e1058ecf74fb98aa2e6615"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":4,"reason":"Found 10/23 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:8: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/python-hyper/brotlicffi/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:16","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:81","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:40:23.418Z","repository_id":45773979,"created_at":"2025-08-22T20:40:23.418Z","updated_at":"2025-08-22T20:40:23.418Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36602648,"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-13T02:00:06.325Z","response_time":111,"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":"python-hyper","name":"Hyper","uuid":"13035907","kind":"organization","description":"HTTP for Python","email":null,"website":"http://hyper.readthedocs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/13035907?v=4","repositories_count":17,"last_synced_at":"2024-03-25T20:04:47.277Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-hyper","funding_links":[],"total_stars":3694,"followers":54,"following":0,"created_at":"2022-11-02T16:24:51.582Z","updated_at":"2024-03-25T20:04:47.290Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-hyper/repositories"},"tags":[{"name":"v1.2.0.1","sha":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","kind":"commit","published_at":"2026-03-05T18:46:52.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.1/manifests"},{"name":"v1.2.0.0","sha":"c42980ada3c6df78660109f42cac4774f0c8d0dd","kind":"tag","published_at":"2025-11-21T17:08:21.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.2.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.2.0.0/manifests"},{"name":"v1.1.0.0","sha":"353f6f16f0a1871d761fa2f68cd2efedc35afc9a","kind":"tag","published_at":"2023-09-14T13:43:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.1.0.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.1.0.0/manifests"},{"name":"v1.0.9.2","sha":"de7ee050f809448735f0f05a6379383b8cf4554f","kind":"tag","published_at":"2021-04-06T16:24:30.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.2/manifests"},{"name":"v1.0.9.1","sha":"79a89dd9f6de2f428ed81d0b67707db3c6b39ccd","kind":"tag","published_at":"2021-01-28T04:03:49.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.1","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.1/manifests"},{"name":"v1.0.9.0","sha":"0307da04a72826806f163822cf7b513f52f49553","kind":"tag","published_at":"2021-01-20T22:13:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v1.0.9.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v1.0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v1.0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v1.0.9.0/manifests"},{"name":"v0.8.0","sha":"4742c7fde3b052d7afa94d0866e8eb9dec0b2bab","kind":"tag","published_at":"2020-11-30T19:22:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.8.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"da3be6051386791ea7f5372230caecc2328262ff","kind":"commit","published_at":"2017-05-30T08:20:01.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.7.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"a0ff752d9eaee12cab5756279963c6b013232d98","kind":"commit","published_at":"2016-09-08T15:59:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.6.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"997184855b9ee1283cc80a1813cff2101153335e","kind":"commit","published_at":"2016-08-16T13:02:27.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.5.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"27eec32f5c95fccb3c42bc5b5ae4efb7ba717e2b","kind":"commit","published_at":"2016-08-01T18:54:36.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.4.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"2e63cdddc17f2ec19bd6bbd90f5b06467a208472","kind":"commit","published_at":"2016-05-11T15:37:03.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.3.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"fd333b56449e9a2cb3231c5f76bff49d7efc6806","kind":"commit","published_at":"2015-10-05T10:44:24.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.2.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.2.0/manifests"},{"name":"v0.1.3","sha":"23cf31c57fe5700dc88e20e2462a6fb1a5775e08","kind":"commit","published_at":"2015-10-05T10:20:34.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.3","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"1be74a8e8eb9f1a2a8b0116cdb56bb9357763b90","kind":"commit","published_at":"2015-10-03T17:09:48.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.2","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"bf566b540ca6952880ab95220934085b06fa65d4","kind":"commit","published_at":"2015-10-03T16:37:33.000Z","download_url":"https://codeload.github.com/python-hyper/brotlicffi/tar.gz/v0.1.0","html_url":"https://github.com/python-hyper/brotlicffi/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-hyper/brotlicffi@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-17T23:48:21.722Z","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":17.684903496084985,"forks_count":19.859358635479527,"docker_downloads_count":null,"average":9.386065532891127},"purl":"pkg:apk/alpine/py3-brotlipy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.18","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-brotlipy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-brotlipy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-brotlipy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:08:34.695Z","issues_count":35,"pull_requests_count":88,"avg_time_to_close_issue":27665127.52,"avg_time_to_close_pull_request":7579399.329113924,"issues_closed_count":25,"pull_requests_closed_count":79,"pull_request_authors_count":23,"issue_authors_count":29,"avg_comments_per_issue":1.7714285714285714,"avg_comments_per_pull_request":0.7727272727272727,"merged_pull_requests_count":66,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":1114739.0,"past_year_avg_time_to_close_pull_request":178482.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":3.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","maintainers":[{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"},{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"},{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"},{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-brotlipy/codemeta","maintainers":[{"uuid":"thinkabit.ukim@gmail.com","login":null,"name":"Leo","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","packages_count":7,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Leo","role":null,"created_at":"2023-05-23T07:00:54.124Z","updated_at":"2023-05-23T07:00:54.124Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/thinkabit.ukim@gmail.com/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"}}],"commits":{"id":5763,"full_name":"python-hyper/brotlicffi","default_branch":"main","total_commits":313,"total_committers":21,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":14.904761904761905,"dds":0.5175718849840256,"past_year_total_commits":11,"past_year_total_committers":5,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":2.2,"past_year_dds":0.4545454545454546,"last_synced_at":"2026-08-19T11:07:15.595Z","last_synced_commit":"3fd4d205e1a356c9b02faccfbe449e774537ddf2","created_at":"2023-03-07T09:23:56.954Z","updated_at":"2026-08-19T11:07:14.113Z","committers":[{"name":"requires.io","email":"support@requires.io","login":"requires","count":151},{"name":"Cory Benfield","email":"lukasaoz@gmail.com","login":"Lukasa","count":109},{"name":"Seth Michael Larson","email":"sethmichaellarson@gmail.com","login":"sethmlarson","count":21},{"name":"Nathan Goldbaum","email":"nathan.goldbaum@gmail.com","login":"ngoldbaum","count":6},{"name":"Omer Katz","email":"omer.drow@gmail.com","login":"thedrow","count":6},{"name":"Michał Górny","email":"mgorny@gentoo.org","login":"mgorny","count":4},{"name":"Felix Yan","email":"felixonmars@archlinux.org","login":"felixonmars","count":2},{"name":"Cosimo Lupo","email":"cosimo.lupo@daltonmaag.com","login":null,"count":1},{"name":"Ed Morley","email":"emorley@mozilla.com","login":null,"count":1},{"name":"Alex Chan","email":"a.chan@wellcome.ac.uk","login":"alexwlchan","count":1},{"name":"Anthony Sottile","email":"asottile@umich.edu","login":"asottile","count":1},{"name":"Donald Stufft","email":"donald@stufft.io","login":"dstufft","count":1},{"name":"Illia Volochii","email":"illia.volochii@gmail.com","login":"illia-v","count":1},{"name":"Ionel Cristian Mărieș","email":"contact@ionelmc.ro","login":"ionelmc","count":1},{"name":"James Hilliard","email":"james.hilliard1@gmail.com","login":"jameshilliard","count":1},{"name":"Miloššš Korenčiak","email":"milos-korenciak","login":"milos-korenciak","count":1},{"name":"Quentin Pradet","email":"quentin@pradet.me","login":"pquentin","count":1},{"name":"Sarthak Pati","email":"sarthak.pati@pennmedicine.upenn.edu","login":"sarthakpati","count":1},{"name":"Thomas Grainger","email":"tagrain@gmail.com","login":"graingert","count":1},{"name":"Zac Medico","email":"zmedico@gmail.com","login":"zmedico","count":1},{"name":"odidev","email":"odidev@puresoftware.com","login":"odidev","count":1}],"past_year_committers":[{"name":"Nathan Goldbaum","email":"nathan.goldbaum@gmail.com","login":"ngoldbaum","count":6},{"name":"Seth Michael Larson","email":"sethmichaellarson@gmail.com","login":"sethmlarson","count":2},{"name":"Zac Medico","email":"zmedico@gmail.com","login":"zmedico","count":1},{"name":"Thomas Grainger","email":"tagrain@gmail.com","login":"graingert","count":1},{"name":"Illia Volochii","email":"illia.volochii@gmail.com","login":"illia-v","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-20T00:00:10.776Z","repositories_count":6752313,"commits_count":978410056,"contributors_count":41242979,"owners_count":1359078,"committers_count":3353170,"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":"python-hyper/brotlicffi","html_url":"https://github.com/python-hyper/brotlicffi","last_synced_at":"2026-08-24T13:41:22.275Z","status":null,"issues_count":35,"pull_requests_count":92,"avg_time_to_close_issue":26696746.96153846,"avg_time_to_close_pull_request":7392525.283950618,"issues_closed_count":26,"pull_requests_closed_count":81,"pull_request_authors_count":24,"issue_authors_count":29,"avg_comments_per_issue":1.8571428571428572,"avg_comments_per_pull_request":0.8043478260869565,"merged_pull_requests_count":68,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":2,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":1800986.0,"past_year_avg_time_to_close_pull_request":130630.14285714286,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":7,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":2.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":6,"created_at":"2023-05-10T11:06:30.200Z","updated_at":"2026-08-24T13:41:22.275Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-hyper%2Fbrotlicffi/issues","issue_labels_count":{"table":{"bug":1}},"pull_request_labels_count":{"table":{"dependencies":3}},"issue_author_associations_count":{"table":{"NONE":29,"MEMBER":3,"CONTRIBUTOR":3}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":55,"MEMBER":23,"NONE":14}},"issue_authors":{"table":{"Leletir":2,"jason-sachs":2,"jayvdb":2,"shmilylty":2,"Apteryks":2,"sethmlarson":2,"mtelka":1,"terriko":1,"wuch-g2v":1,"bra-fsn":1,"rathann":1,"felixonmars":1,"Tom-python0121":1,"roganov":1,"matrixise":1,"glyph":1,"clouds56":1,"sarthakpati":1,"odidev":1,"tusharsadhwani":1,"Dreamsorcerer":1,"adamjcook":1,"mriedem":1,"karyon":1,"kj54321":1,"pirate":1,"scravy":1,"ngoldbaum":1,"Alessandro-Barbieri":1}},"pull_request_authors":{"table":{"sigmavirus24":32,"sethmlarson":13,"Lukasa":9,"ngoldbaum":8,"graingert":4,"mgorny":3,"cclauss":3,"jayvdb":2,"dependabot[bot]":2,"jameshilliard":2,"bra-fsn":1,"pquentin":1,"vorfol":1,"asottile":1,"odidev":1,"rome-xi":1,"adamjcook":1,"thedrow":1,"Kriechi":1,"glyph":1,"alexwlchan":1,"dand-oss":1,"milos-korenciak":1,"sarthakpati":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-25T00:00:09.459Z","repositories_count":16324715,"issues_count":42381630,"pull_requests_count":135850352,"authors_count":11519836,"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":{"dependencies":1}},"past_year_issue_author_associations_count":{"table":{"CONTRIBUTOR":1,"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":11,"NONE":1}},"past_year_issue_authors":{"table":{"Dreamsorcerer":1,"ngoldbaum":1}},"past_year_pull_request_authors":{"table":{"ngoldbaum":8,"cclauss":3,"rome-xi":1}},"maintainers":[{"table":{"login":"sethmlarson","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sethmlarson"}},{"table":{"login":"Lukasa","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Lukasa"}},{"table":{"login":"felixonmars","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixonmars"}},{"table":{"login":"Kriechi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Kriechi"}}],"active_maintainers":[]}},"events":{"total":{"DeleteEvent":3,"PullRequestEvent":6,"IssuesEvent":4,"WatchEvent":5,"IssueCommentEvent":26,"PushEvent":9,"PullRequestReviewEvent":13,"PullRequestReviewCommentEvent":8,"CreateEvent":2},"last_year":{"DeleteEvent":3,"PullRequestEvent":6,"IssuesEvent":3,"WatchEvent":3,"IssueCommentEvent":25,"PushEvent":9,"PullRequestReviewEvent":13,"PullRequestReviewCommentEvent":8,"CreateEvent":2}},"keywords":["brotli","python"],"dependencies":[{"ecosystem":"pypi","filepath":"test_requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-20T21:22:04.753Z","updated_at":"2022-09-20T21:22:04.753Z","repository_link":"https://github.com/python-hyper/brotlicffi/blob/main/test_requirements.txt","dependencies":[{"id":5663410099,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":5663410102,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":5663410104,"package_name":"hypothesis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false}]},{"ecosystem":"pypi","filepath":"example/setup.py","sha":null,"kind":"manifest","created_at":"2022-09-20T21:22:04.261Z","updated_at":"2022-09-20T21:22:04.261Z","repository_link":"https://github.com/python-hyper/brotlicffi/blob/main/example/setup.py","dependencies":[{"id":5663405863,"package_name":"brotli","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":5663405867,"package_name":"brotlicffi","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-20T21:22:04.612Z","updated_at":"2022-09-20T21:22:04.612Z","repository_link":"https://github.com/python-hyper/brotlicffi/blob/main/setup.py","dependencies":[{"id":5663408629,"package_name":"cffi","ecosystem":"pypi","requirements":"\u003e=1.0.0","direct":true,"kind":"runtime","optional":false},{"id":5663408630,"package_name":"enum34","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-02-11T23:05:12.272Z","updated_at":"2023-02-11T23:05:12.272Z","repository_link":"https://github.com/python-hyper/brotlicffi/blob/main/.github/workflows/ci.yml","dependencies":[{"id":7560500366,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7560500367,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7560500368,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7560500369,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7560500370,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7560500371,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7560500372,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7560500373,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]}],"score":24.20021688226888,"created_at":"2026-05-04T06:43:55.622Z","updated_at":"2026-08-25T14:10:52.445Z","avatar_url":"https://github.com/python-hyper.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/371600","html_url":"https://summary.ecosyste.ms/projects/371600"}