{"id":368066,"url":"https://github.com/jawah/charset_normalizer","last_synced_at":"2026-06-21T12:01:29.479Z","repository":{"id":35045251,"uuid":"200259335","full_name":"jawah/charset_normalizer","owner":"jawah","description":"Truly universal encoding detector in pure Python.","archived":false,"fork":false,"pushed_at":"2026-06-02T03:08:54.000Z","size":1856,"stargazers_count":776,"open_issues_count":3,"forks_count":64,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-06-15T23:37:02.984Z","etag":null,"topics":["chardet","charset-conversion","charset-detection","encoding","python","unicode"],"latest_commit_sha":null,"homepage":"https://charset-normalizer.readthedocs.io/en/latest/","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/jawah.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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},"funding":{"tidelift":"pypi/charset-normalizer","github":["Ousret"]}},"created_at":"2019-08-02T15:37:20.000Z","updated_at":"2026-06-15T13:30:53.000Z","dependencies_parsed_at":"2025-12-28T15:08:24.623Z","dependency_job_id":null,"html_url":"https://github.com/jawah/charset_normalizer","commit_stats":{"total_commits":596,"total_committers":20,"mean_commits":29.8,"dds":0.4261744966442953,"last_synced_commit":"ffdf7f5f08beb0ceb92dc0637e97382ba27cecfa"},"previous_names":["jawah/charset_normalizer","ousret/charset_normalizer"],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/jawah/charset_normalizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jawah","download_url":"https://codeload.github.com/jawah/charset_normalizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/sbom","scorecard":{"id":714767,"data":{"date":"2025-08-19T07:27:32Z","repo":{"name":"github.com/jawah/charset_normalizer","commit":"d4767ab7cc560c1ea0f0a0764a866090971527da"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":2,"reason":"Found 1/4 approved changesets -- score normalized to 2","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/cd.yml:102","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/cd.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:15","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: downloadThenRun not pinned by hash: .github/workflows/cd.yml:126","Warn: pipCommand not pinned by hash: .github/workflows/cd.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:86","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:123","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:141","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:185","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:213","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:248","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:58","Info:  36 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   4 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned","Info:   0 out of   9 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Signed-Releases","score":8,"reason":"4 out of the last 5 releases have a total of 4 signed artifacts.","details":["Warn: release artifact 3.4.3 not signed: https://api.github.com/repos/jawah/charset_normalizer/releases/238755472","Warn: release artifact 3.4.3 does not have provenance: https://api.github.com/repos/jawah/charset_normalizer/releases/238755472","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.2","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.1","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.0","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.3.2"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 29 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cd.yml:96"],"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":8,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Info: codeowner review is required on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":8,"reason":"7 out of 8 merged PRs checked by a CI test -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: jawah"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-22T09:15:22.049Z","repository_id":35045251,"created_at":"2025-08-22T09:15:22.049Z","updated_at":"2025-08-22T09:15:22.049Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34443239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"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":"jawah","name":"Jawah OSS","uuid":"139072305","kind":"organization","description":"","email":null,"website":null,"location":"France","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/139072305?v=4","repositories_count":5,"last_synced_at":"2024-04-28T08:53:04.534Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/jawah","funding_links":[],"total_stars":766,"followers":7,"following":0,"created_at":"2024-04-28T08:53:05.536Z","updated_at":"2024-04-28T08:53:05.536Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jawah","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jawah/repositories"},"packages":[{"id":75102,"name":"py-charset-normalizer","ecosystem":"spack","description":"The Real First Universal Charset Detector. Open, modern and actively\nmaintained alternative to Chardet.\n","homepage":"https://github.com/jawah/charset_normalizer","licenses":"[]","normalized_licenses":["Other"],"repository_url":"https://github.com/jawah/charset_normalizer","keywords_array":[],"namespace":null,"versions_count":7,"first_release_published_at":"2022-04-05T09:23:24.221Z","latest_release_published_at":"2025-10-28T03:22:17.981Z","latest_release_number":"3.4.4","last_synced_at":"2026-06-18T23:22:20.390Z","created_at":"2022-04-05T09:23:24.199Z","updated_at":"2026-06-18T23:22:20.390Z","registry_url":"https://packages.spack.io/package.html?name=py-charset-normalizer","install_command":"spack install py-charset-normalizer","documentation_url":null,"metadata":{},"repo_metadata":{"id":35045251,"uuid":"200259335","full_name":"jawah/charset_normalizer","owner":"jawah","description":"Truly universal encoding detector in pure Python.","archived":false,"fork":false,"pushed_at":"2026-06-02T03:08:54.000Z","size":1856,"stargazers_count":773,"open_issues_count":2,"forks_count":63,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-06-09T20:24:43.256Z","etag":null,"topics":["chardet","charset-conversion","charset-detection","encoding","python","unicode"],"latest_commit_sha":null,"homepage":"https://charset-normalizer.readthedocs.io/en/latest/","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/jawah.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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},"funding":{"tidelift":"pypi/charset-normalizer","github":["Ousret"]}},"created_at":"2019-08-02T15:37:20.000Z","updated_at":"2026-06-09T16:16:18.000Z","dependencies_parsed_at":"2025-12-28T15:08:24.623Z","dependency_job_id":null,"html_url":"https://github.com/jawah/charset_normalizer","commit_stats":{"total_commits":596,"total_committers":20,"mean_commits":29.8,"dds":0.4261744966442953,"last_synced_commit":"ffdf7f5f08beb0ceb92dc0637e97382ba27cecfa"},"previous_names":["jawah/charset_normalizer","ousret/charset_normalizer"],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/jawah/charset_normalizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jawah","download_url":"https://codeload.github.com/jawah/charset_normalizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/sbom","scorecard":{"id":714767,"data":{"date":"2025-08-19T07:27:32Z","repo":{"name":"github.com/jawah/charset_normalizer","commit":"d4767ab7cc560c1ea0f0a0764a866090971527da"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":2,"reason":"Found 1/4 approved changesets -- score normalized to 2","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/cd.yml:102","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/cd.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:15","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: downloadThenRun not pinned by hash: .github/workflows/cd.yml:126","Warn: pipCommand not pinned by hash: .github/workflows/cd.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:86","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:123","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:141","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:185","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:213","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:248","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:58","Info:  36 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   4 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned","Info:   0 out of   9 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Signed-Releases","score":8,"reason":"4 out of the last 5 releases have a total of 4 signed artifacts.","details":["Warn: release artifact 3.4.3 not signed: https://api.github.com/repos/jawah/charset_normalizer/releases/238755472","Warn: release artifact 3.4.3 does not have provenance: https://api.github.com/repos/jawah/charset_normalizer/releases/238755472","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.2","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.1","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.0","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.3.2"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 29 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cd.yml:96"],"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":8,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Info: codeowner review is required on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":8,"reason":"7 out of 8 merged PRs checked by a CI test -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: jawah"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-22T09:15:22.049Z","repository_id":35045251,"created_at":"2025-08-22T09:15:22.049Z","updated_at":"2025-08-22T09:15:22.049Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34305789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2026-06-14T00:44:06.186Z","dependent_packages_count":4,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":11.615951090732251,"stargazers_count":12.032791440878142,"forks_count":17.924135056273446,"average":10.39321939697096},"purl":"pkg:spack/py-charset-normalizer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/spack/py-charset-normalizer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/spack/py-charset-normalizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/spack/py-charset-normalizer/dependencies","status":null,"funding_links":["https://tidelift.com/funding/github/pypi/charset-normalizer","https://github.com/sponsors/Ousret"],"critical":null,"issue_metadata":{"last_synced_at":"2026-06-02T06:00:37.506Z","issues_count":62,"pull_requests_count":308,"avg_time_to_close_issue":6566800.886792453,"avg_time_to_close_pull_request":663820.5735849057,"issues_closed_count":53,"pull_requests_closed_count":265,"pull_request_authors_count":14,"issue_authors_count":47,"avg_comments_per_issue":2.2096774193548385,"avg_comments_per_pull_request":0.5844155844155844,"merged_pull_requests_count":183,"bot_issues_count":1,"bot_pull_requests_count":198,"past_year_issues_count":14,"past_year_pull_requests_count":58,"past_year_avg_time_to_close_issue":217771.42857142858,"past_year_avg_time_to_close_pull_request":236620.25714285715,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":35,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":1.3571428571428572,"past_year_avg_comments_per_pull_request":0.3103448275862069,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":40,"past_year_merged_pull_requests_count":21,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/issues","maintainers":[{"login":"Ousret","count":93,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}],"active_maintainers":[{"login":"Ousret","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-charset-normalizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-charset-normalizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-charset-normalizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-charset-normalizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-charset-normalizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-charset-normalizer/codemeta","maintainers":[{"uuid":"adamjstewart","login":"adamjstewart","name":null,"email":null,"url":"https://github.com/adamjstewart","packages_count":2168,"html_url":null,"role":null,"created_at":"2022-11-14T16:50:20.395Z","updated_at":"2022-11-14T16:50:20.395Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/maintainers/adamjstewart/packages"}],"registry":{"name":"spack.io","url":"https://packages.spack.io","ecosystem":"spack","default":true,"packages_count":9197,"maintainers_count":989,"namespaces_count":0,"keywords_count":3801,"github":"spack","metadata":{"funded_packages_count":440},"icon_url":"https://github.com/spack.png","created_at":"2022-04-04T15:19:23.514Z","updated_at":"2026-06-10T05:19:56.194Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/namespaces"}},{"id":5286384,"name":"charset-normalizer","ecosystem":"conda","description":"A Library that helps you read text from unknown charset encoding. This project is motivated by chardet.","homepage":"https://github.com/jawah/charset_normalizer","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jawah/charset_normalizer","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2021-08-26T18:40:59.000Z","latest_release_published_at":"2025-10-29T13:34:21.000Z","latest_release_number":"3.4.4","last_synced_at":"2026-04-01T01:58:12.223Z","created_at":"2022-10-03T15:43:48.471Z","updated_at":"2026-06-14T00:44:06.814Z","registry_url":"https://anaconda.org/anaconda/charset-normalizer","install_command":"conda install -c anaconda charset-normalizer","documentation_url":null,"metadata":{},"repo_metadata":{"id":35045251,"uuid":"200259335","full_name":"jawah/charset_normalizer","owner":"jawah","description":"Truly universal encoding detector in pure Python.","archived":false,"fork":false,"pushed_at":"2026-06-02T03:08:54.000Z","size":1856,"stargazers_count":773,"open_issues_count":2,"forks_count":63,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-06-09T20:24:43.256Z","etag":null,"topics":["chardet","charset-conversion","charset-detection","encoding","python","unicode"],"latest_commit_sha":null,"homepage":"https://charset-normalizer.readthedocs.io/en/latest/","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/jawah.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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},"funding":{"tidelift":"pypi/charset-normalizer","github":["Ousret"]}},"created_at":"2019-08-02T15:37:20.000Z","updated_at":"2026-06-09T16:16:18.000Z","dependencies_parsed_at":"2025-12-28T15:08:24.623Z","dependency_job_id":null,"html_url":"https://github.com/jawah/charset_normalizer","commit_stats":{"total_commits":596,"total_committers":20,"mean_commits":29.8,"dds":0.4261744966442953,"last_synced_commit":"ffdf7f5f08beb0ceb92dc0637e97382ba27cecfa"},"previous_names":["jawah/charset_normalizer","ousret/charset_normalizer"],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/jawah/charset_normalizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jawah","download_url":"https://codeload.github.com/jawah/charset_normalizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/sbom","scorecard":{"id":714767,"data":{"date":"2025-08-19T07:27:32Z","repo":{"name":"github.com/jawah/charset_normalizer","commit":"d4767ab7cc560c1ea0f0a0764a866090971527da"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.5,"checks":[{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":2,"reason":"Found 1/4 approved changesets -- score normalized to 2","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/cd.yml:102","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/cd.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:15","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: downloadThenRun not pinned by hash: .github/workflows/cd.yml:126","Warn: pipCommand not pinned by hash: .github/workflows/cd.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:86","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:123","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:141","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:185","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:213","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:248","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:58","Info:  36 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   4 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned","Info:   0 out of   9 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Signed-Releases","score":8,"reason":"4 out of the last 5 releases have a total of 4 signed artifacts.","details":["Warn: release artifact 3.4.3 not signed: https://api.github.com/repos/jawah/charset_normalizer/releases/238755472","Warn: release artifact 3.4.3 does not have provenance: https://api.github.com/repos/jawah/charset_normalizer/releases/238755472","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.2","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.1","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.4.0","Info: provenance for release artifact: multiple.intoto.jsonl: https://github.com/jawah/charset_normalizer/releases/tag/3.3.2"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 29 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cd.yml:96"],"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":8,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Info: codeowner review is required on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":8,"reason":"7 out of 8 merged PRs checked by a CI test -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: jawah"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-22T09:15:22.049Z","repository_id":35045251,"created_at":"2025-08-22T09:15:22.049Z","updated_at":"2025-08-22T09:15:22.049Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34305789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2026-06-14T00:44:06.814Z","dependent_packages_count":5,"downloads":null,"downloads_period":null,"dependent_repos_count":598,"rankings":{"downloads":null,"dependent_repos_count":6.5593683571211665,"dependent_packages_count":11.114485271788642,"stargazers_count":33.70786516853933,"forks_count":42.058912845429695,"docker_downloads_count":null,"average":23.360157910719707},"purl":"pkg:conda/charset-normalizer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/charset-normalizer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/charset-normalizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/charset-normalizer/dependencies","status":null,"funding_links":["https://tidelift.com/funding/github/pypi/charset-normalizer","https://github.com/sponsors/Ousret"],"critical":false,"issue_metadata":{"last_synced_at":"2026-06-02T06:00:37.506Z","issues_count":62,"pull_requests_count":308,"avg_time_to_close_issue":6566800.886792453,"avg_time_to_close_pull_request":663820.5735849057,"issues_closed_count":53,"pull_requests_closed_count":265,"pull_request_authors_count":14,"issue_authors_count":47,"avg_comments_per_issue":2.2096774193548385,"avg_comments_per_pull_request":0.5844155844155844,"merged_pull_requests_count":183,"bot_issues_count":1,"bot_pull_requests_count":198,"past_year_issues_count":14,"past_year_pull_requests_count":58,"past_year_avg_time_to_close_issue":217771.42857142858,"past_year_avg_time_to_close_pull_request":236620.25714285715,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":35,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":1.3571428571428572,"past_year_avg_comments_per_pull_request":0.3103448275862069,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":40,"past_year_merged_pull_requests_count":21,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/issues","maintainers":[{"login":"Ousret","count":93,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}],"active_maintainers":[{"login":"Ousret","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/charset-normalizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/charset-normalizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/charset-normalizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/charset-normalizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/charset-normalizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/charset-normalizer/codemeta","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":5210,"maintainers_count":0,"namespaces_count":0,"keywords_count":3232,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":759},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2026-06-10T05:18:41.108Z","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":2668496,"name":"charset-normalizer","ecosystem":"pypi","description":"The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jawah/charset_normalizer","keywords_array":["encoding","charset","charset-detector","detector","normalization","unicode","chardet","detect"],"namespace":null,"versions_count":61,"first_release_published_at":"2019-08-02T16:03:53.000Z","latest_release_published_at":"2026-04-02T09:25:40.000Z","latest_release_number":"3.4.7","last_synced_at":"2026-06-18T07:28:42.701Z","created_at":"2022-04-10T10:19:50.374Z","updated_at":"2026-06-18T07:28:42.702Z","registry_url":"https://pypi.org/project/charset-normalizer/","install_command":"pip install charset-normalizer --index-url https://pypi.org/simple","documentation_url":"https://charset-normalizer.readthedocs.io/","metadata":{"funding":null,"documentation":"https://charset-normalizer.readthedocs.io/","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Free Threading :: 4 - Resilient","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Text Processing :: Linguistic","Topic :: Utilities","Typing :: Typed"],"normalized_name":"charset-normalizer","project_status":null},"repo_metadata":{"id":35045251,"uuid":"200259335","full_name":"jawah/charset_normalizer","owner":"jawah","description":"Truly universal encoding detector in pure Python","archived":false,"fork":false,"pushed_at":"2024-10-29T07:50:13.000Z","size":1397,"stargazers_count":581,"open_issues_count":0,"forks_count":51,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-29T16:19:13.497Z","etag":null,"topics":["chardet","charset-conversion","charset-detection","encoding","python","unicode"],"latest_commit_sha":null,"homepage":"https://charset-normalizer.readthedocs.io/en/latest/","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/jawah.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"tidelift":"pypi/charset-normalizer","github":["Ousret"]}},"created_at":"2019-08-02T15:37:20.000Z","updated_at":"2024-10-29T10:10:30.000Z","dependencies_parsed_at":"2024-02-07T06:34:03.617Z","dependency_job_id":"c58dd6d4-9c16-42f0-82a3-306c058863dd","html_url":"https://github.com/jawah/charset_normalizer","commit_stats":{"total_commits":417,"total_committers":17,"mean_commits":"24.529411764705884","dds":0.5611510791366907,"last_synced_commit":"04dd48b153da73f9d748791c8c9bb254980cb31f"},"previous_names":["jawah/charset_normalizer"],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jawah","download_url":"https://codeload.github.com/jawah/charset_normalizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222090776,"owners_count":16929471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"Ousret","name":"TAHRI Ahmed R.","uuid":"9326700","kind":"user","description":"","email":"","website":null,"location":"Le Mans, France.","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/9326700?u=9b5f17101d63bd9c6943317f0ebb14e8724abfd0\u0026v=4","repositories_count":25,"last_synced_at":"2023-04-09T10:31:57.336Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Ousret","funding_links":[],"total_stars":758,"followers":null,"following":null,"created_at":"2022-11-02T16:24:29.305Z","updated_at":"2024-03-25T17:54:23.894Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ousret","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ousret/repositories"}},"repo_metadata_updated_at":"2024-10-29T22:25:59.136Z","dependent_packages_count":2462,"downloads":1387692029,"downloads_period":"last-month","dependent_repos_count":127252,"rankings":{"downloads":0.0016507491649960472,"dependent_repos_count":0.007703496103314888,"dependent_packages_count":0.015406992206629775,"stargazers_count":3.7286755305782937,"forks_count":7.657275126694999,"docker_downloads_count":0.0034849149038805446,"average":1.902366134942019},"purl":"pkg:pypi/charset-normalizer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/charset-normalizer","docker_dependents_count":23359,"docker_downloads_count":9215853147,"usage_url":"https://repos.ecosyste.ms/usage/pypi/charset-normalizer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/charset-normalizer/dependencies","status":null,"funding_links":["https://tidelift.com/funding/github/pypi/charset-normalizer","https://github.com/sponsors/Ousret"],"critical":true,"issue_metadata":{"last_synced_at":"2024-10-29T18:03:44.216Z","issues_count":37,"pull_requests_count":132,"avg_time_to_close_issue":12047358.54054054,"avg_time_to_close_pull_request":880771.4166666666,"issues_closed_count":37,"pull_requests_closed_count":132,"pull_request_authors_count":5,"issue_authors_count":15,"avg_comments_per_issue":3.243243243243243,"avg_comments_per_pull_request":1.5075757575757576,"merged_pull_requests_count":123,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/issues","maintainers":[{"login":"Ousret","count":125,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/charset-normalizer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/charset-normalizer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/charset-normalizer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/charset-normalizer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/charset-normalizer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/charset-normalizer/codemeta","maintainers":[{"uuid":"Ousret","login":"Ousret","name":null,"email":null,"url":null,"packages_count":17,"html_url":"https://pypi.org/user/Ousret/","role":null,"created_at":"2023-01-31T06:56:38.642Z","updated_at":"2023-01-31T06:56:38.642Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Ousret/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":889399,"maintainers_count":380919,"namespaces_count":0,"keywords_count":289179,"github":"pypi","metadata":{"funded_packages_count":54301},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-06-10T05:13:28.296Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":1638142,"full_name":"jawah/charset_normalizer","default_branch":"master","total_commits":780,"total_committers":26,"total_bot_commits":221,"total_bot_committers":1,"mean_commits":30.0,"dds":0.4256410256410257,"past_year_total_commits":147,"past_year_total_committers":8,"past_year_total_bot_commits":42,"past_year_total_bot_committers":1,"past_year_mean_commits":18.375,"past_year_dds":0.34013605442176875,"last_synced_at":"2026-06-18T23:22:46.903Z","last_synced_commit":"4f454b08304f02d00662ef561754c1ca730aa125","created_at":"2024-06-26T10:50:24.165Z","updated_at":"2026-06-18T23:22:17.597Z","committers":[{"name":"TAHRI Ahmed R","email":"Ousret","login":"Ousret","count":448},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":221},{"name":"TAHRI Ahmed R","email":"nyuubi.10@gmail.com","login":null,"count":80},{"name":"Adrien Barbaresi","email":"adbar","login":"adbar","count":4},{"name":"deedy5","email":"65482418+deedy5","login":"deedy5","count":3},{"name":"Aarni Koskela","email":"akx@iki.fi","login":"akx","count":2},{"name":"Armaanjeet Singh Sandhu","email":"90208595+ArmaanjeetSandhu","login":"ArmaanjeetSandhu","count":2},{"name":"James Addison","email":"55152140+jayaddison","login":"jayaddison","count":2},{"name":"Edgar Ramírez Mondragón","email":"16805946+edgarrmondragon","login":"edgarrmondragon","count":1},{"name":"FantasqueX","email":"fantasquex@gmail.com","login":"FantasqueX","count":1},{"name":"Hellseher","email":"oleg.bocharov@mirrorweb.com","login":"Hellseher","count":1},{"name":"Hugo van Kemenade","email":"hugovk","login":"hugovk","count":1},{"name":"John Vandenberg","email":"jayvdb@gmail.com","login":"jayvdb","count":1},{"name":"Kadir Can Ozden","email":"101993364+bysiber","login":"bysiber","count":1},{"name":"Kian-Meng Ang","email":"kianmeng.ang@gmail.com","login":"kianmeng","count":1},{"name":"Leon Anavi","email":"leon@anavi.org","login":"leon-anavi","count":1},{"name":"Lumír 'Frenzy' Balhar","email":"frenzy.madness@gmail.com","login":"frenzymadness","count":1},{"name":"M Bussonnier","email":"bussonniermatthias@gmail.com","login":"Carreau","count":1},{"name":"Michal Čihař","email":"michal@cihar.com","login":"nijel","count":1},{"name":"Nathan M","email":"nathanmaynes@gmail.com","login":"nmaynes","count":1},{"name":"Oleksandr Kuzmenko","email":"alx.kuzm@gmail.com","login":"oleksandr-kuzmenko","count":1},{"name":"PythonCoderAS","email":"13932583+PythonCoderAS","login":"PythonCoderAS","count":1},{"name":"StepSecurity Bot","email":"bot@stepsecurity.io","login":"step-security-bot","count":1},{"name":"Ye Lei (叶磊)","email":"blkserene@gmail.com","login":"BLKSerene","count":1},{"name":"aleksandernovikov","email":"cahek1@inbox.ru","login":"aleksandernovikov","count":1},{"name":"pinterior","email":"pinterior","login":"pinterior","count":1}],"past_year_committers":[{"name":"Ahmed TAHRI","email":"tahri.ahmed@proton.me","login":"Ousret","count":97},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":42},{"name":"James Addison","email":"55152140+jayaddison","login":"jayaddison","count":2},{"name":"Armaanjeet Singh Sandhu","email":"90208595+ArmaanjeetSandhu","login":"ArmaanjeetSandhu","count":2},{"name":"M Bussonnier","email":"bussonniermatthias@gmail.com","login":"Carreau","count":1},{"name":"Leon Anavi","email":"leon@anavi.org","login":"leon-anavi","count":1},{"name":"Kadir Can Ozden","email":"101993364+bysiber","login":"bysiber","count":1},{"name":"Hellseher","email":"oleg.bocharov@mirrorweb.com","login":"Hellseher","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-19T00:00:07.604Z","repositories_count":6263713,"commits_count":875002357,"contributors_count":35073036,"owners_count":1168674,"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":"jawah/charset_normalizer","html_url":"https://github.com/jawah/charset_normalizer","last_synced_at":"2026-04-06T17:21:31.696Z","status":"active","issues_count":59,"pull_requests_count":299,"avg_time_to_close_issue":6811651.392156863,"avg_time_to_close_pull_request":663820.5735849057,"issues_closed_count":51,"pull_requests_closed_count":265,"pull_request_authors_count":14,"issue_authors_count":44,"avg_comments_per_issue":2.254237288135593,"avg_comments_per_pull_request":0.6020066889632107,"merged_pull_requests_count":183,"bot_issues_count":1,"bot_pull_requests_count":189,"past_year_issues_count":14,"past_year_pull_requests_count":66,"past_year_avg_time_to_close_issue":227101.625,"past_year_avg_time_to_close_pull_request":243594.82352941178,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":51,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":1.7857142857142858,"past_year_avg_comments_per_pull_request":0.2727272727272727,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":44,"past_year_merged_pull_requests_count":37,"created_at":"2024-06-26T10:50:24.311Z","updated_at":"2026-04-06T17:21:31.696Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/jawah%2Fcharset_normalizer/issues","issue_labels_count":{"table":{"help wanted":28,"bug":18,"detection":16,"enhancement":14,"good first issue":2,"wontfix":1,"question":1,"dependencies":1,"CLI":1,"github_actions":1}},"pull_request_labels_count":{"table":{"dependencies":189,"github_actions":136,"python":52,"enhancement":21,"bug":11,"detection":11,"bugfix release":10,"documentation":10,"tests":7,"flourish":6,"help wanted":3,"CLI":1,"question":1,"do-not-merge":1}},"issue_author_associations_count":{"table":{"NONE":47,"CONTRIBUTOR":11,"MEMBER":1}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":197,"MEMBER":92,"NONE":10}},"issue_authors":{"table":{"DonaldTsang":5,"jayvdb":4,"PalmtopTiger":3,"milahu":3,"frenzymadness":3,"nijel":2,"bbhtt":2,"ngoldbaum":1,"sethmlarson":1,"dpatryas-rtbhouse":1,"pawelzwronek":1,"dependabot[bot]":1,"RobertoPrevato":1,"padovaSR":1,"Marsman1996":1,"tseaver":1,"enkelli":1,"BLKSerene":1,"priv-kweihmann":1,"paintdog":1,"ahmetsait":1,"hjs-develop":1,"IgorTodorovskiIBM":1,"GavinHuttley":1,"Maniues":1,"KaraKaraWitch":1,"mcarans":1,"grindsa":1,"Guillermogsjc":1,"M-Startc":1,"bdauvergne":1,"fgeorgatos":1,"delins":1,"vstinner":1,"jkseppan":1,"wosc":1,"gaborbernat":1,"DannyDannyDanny":1,"GriMel":1,"wrobell":1,"hrvoj3e":1,"carmenbianca":1,"pombredanne":1,"Ousret":1}},"pull_request_authors":{"table":{"dependabot[bot]":189,"Ousret":92,"jayaddison":2,"jayvdb":2,"Hellseher":2,"bysiber":2,"ArmaanjeetSandhu":2,"Carreau":2,"frenzymadness":1,"leon-anavi":1,"edgarrmondragon":1,"carmenbianca":1,"akx":1,"oxygen-dioxide":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-06T00:00:09.270Z","repositories_count":14114691,"issues_count":34474565,"pull_requests_count":112578710,"authors_count":11227916,"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":{"help wanted":7,"detection":4,"bug":3,"enhancement":3}},"past_year_pull_request_labels_count":{"table":{"dependencies":44,"github_actions":25,"python":19}},"past_year_issue_author_associations_count":{"table":{"NONE":13,"CONTRIBUTOR":1}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":48,"MEMBER":9,"NONE":9}},"past_year_issue_authors":{"table":{"ahmetsait":1,"bbhtt":1,"BLKSerene":1,"carmenbianca":1,"fgeorgatos":1,"gaborbernat":1,"GriMel":1,"Maniues":1,"ngoldbaum":1,"padovaSR":1,"paintdog":1,"PalmtopTiger":1,"RobertoPrevato":1,"wrobell":1}},"past_year_pull_request_authors":{"table":{"dependabot[bot]":44,"Ousret":9,"ArmaanjeetSandhu":2,"bysiber":2,"Carreau":2,"Hellseher":2,"jayaddison":2,"carmenbianca":1,"leon-anavi":1,"oxygen-dioxide":1}},"maintainers":[{"table":{"login":"Ousret","count":93,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}}],"active_maintainers":[{"table":{"login":"Ousret","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ousret"}}]}},"events":{"total":{"ReleaseEvent":4,"DeleteEvent":90,"PullRequestEvent":209,"ForkEvent":7,"IssuesEvent":45,"WatchEvent":116,"IssueCommentEvent":70,"PushEvent":121,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":54,"CreateEvent":85},"last_year":{"ReleaseEvent":2,"DeleteEvent":45,"PullRequestEvent":122,"ForkEvent":2,"IssuesEvent":29,"WatchEvent":64,"IssueCommentEvent":35,"PushEvent":77,"PullRequestReviewEvent":28,"CreateEvent":40}},"keywords":["chardet","charset-conversion","charset-detection","encoding","python","unicode"],"dependencies":[{"ecosystem":"pypi","filepath":"dev-requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-15T22:00:56.800Z","updated_at":"2022-07-15T22:00:56.800Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/dev-requirements.txt","dependencies":[{"id":226471143,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":226471144,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":226471145,"package_name":"codecov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":226471146,"package_name":"chardet","ecosystem":"pypi","requirements":"\u003e=5.0,\u003c5.1","direct":true,"kind":"runtime","optional":false},{"id":226471147,"package_name":"Flask","ecosystem":"pypi","requirements":"\u003e=2.0,\u003c3.0","direct":true,"kind":"runtime","optional":false},{"id":226471148,"package_name":"requests","ecosystem":"pypi","requirements":"\u003e=2.26,\u003c3.0","direct":true,"kind":"runtime","optional":false},{"id":226471149,"package_name":"black","ecosystem":"pypi","requirements":"==22.6.0","direct":true,"kind":"runtime","optional":false},{"id":226471150,"package_name":"flake8","ecosystem":"pypi","requirements":"==4.0.1","direct":true,"kind":"runtime","optional":false},{"id":226471151,"package_name":"mypy","ecosystem":"pypi","requirements":"==0.961","direct":true,"kind":"runtime","optional":false},{"id":226471152,"package_name":"isort","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-15T22:00:57.050Z","updated_at":"2022-07-15T22:00:57.050Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/docs/requirements.txt","dependencies":[{"id":226475103,"package_name":"Sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":226475104,"package_name":"furo","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql.yml","sha":null,"kind":"manifest","created_at":"2023-01-15T12:41:02.652Z","updated_at":"2023-01-15T12:41:02.652Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/.github/workflows/codeql.yml","dependencies":[{"id":6924447913,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6924447914,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6924447915,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6924447916,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/cd.yml","sha":null,"kind":"manifest","created_at":"2024-02-02T08:59:23.117Z","updated_at":"2024-02-02T08:59:23.117Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/.github/workflows/cd.yml","dependencies":[{"id":15982293594,"package_name":"actions/checkout","ecosystem":"actions","requirements":"8ade135a41bc03ea155e62e844d188df1ea18608","direct":true,"kind":"composite","optional":false},{"id":15982293595,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"0a5c61591373683505ea898e09a3ea4f39ef2b9c","direct":true,"kind":"composite","optional":false},{"id":15982293596,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"a8a3f3ad30e3422c9c7b888a15615d19a852ae32","direct":true,"kind":"composite","optional":false},{"id":15982293597,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"68827325e0b33c7199eb31dd4e31fbe9023e06e3","direct":true,"kind":"composite","optional":false},{"id":15982293598,"package_name":"pypa/cibuildwheel","ecosystem":"actions","requirements":"ce3fb7832089eb3e723a0a99cab7f3eaccf074fd","direct":true,"kind":"composite","optional":false},{"id":15982293621,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110","direct":true,"kind":"composite","optional":false},{"id":15982293623,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2024-02-02T08:59:23.260Z","updated_at":"2024-02-02T08:59:23.260Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/.github/workflows/ci.yml","dependencies":[{"id":15982293682,"package_name":"actions/checkout","ecosystem":"actions","requirements":"8ade135a41bc03ea155e62e844d188df1ea18608","direct":true,"kind":"composite","optional":false},{"id":15982293683,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"0a5c61591373683505ea898e09a3ea4f39ef2b9c","direct":true,"kind":"composite","optional":false},{"id":15982293684,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"4fe8c5f003fae66aa5ebb77cfd3e7bfbbda0b6b0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/scorecards.yml","sha":null,"kind":"manifest","created_at":"2024-02-02T08:59:23.352Z","updated_at":"2024-02-02T08:59:23.352Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/.github/workflows/scorecards.yml","dependencies":[{"id":15982293741,"package_name":"actions/checkout","ecosystem":"actions","requirements":"8ade135a41bc03ea155e62e844d188df1ea18608","direct":true,"kind":"composite","optional":false},{"id":15982293742,"package_name":"ossf/scorecard-action","ecosystem":"actions","requirements":"0864cf19026789058feabb7e87baa5f140aac736","direct":true,"kind":"composite","optional":false},{"id":15982293865,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"a8a3f3ad30e3422c9c7b888a15615d19a852ae32","direct":true,"kind":"composite","optional":false},{"id":15982293866,"package_name":"github/codeql-action/upload-sarif","ecosystem":"actions","requirements":"b7bf0a3ed3ecfa44160715d7c442788f65f0f923","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-02-02T08:59:23.655Z","updated_at":"2024-02-02T08:59:23.655Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"ci-requirements.txt","sha":null,"kind":"manifest","created_at":"2025-12-28T15:08:20.472Z","updated_at":"2025-12-28T15:08:20.472Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/ci-requirements.txt","dependencies":[{"id":25780312343,"package_name":"argcomplete","ecosystem":"pypi","requirements":"==3.1.2","direct":true,"kind":"runtime","optional":false},{"id":25780312344,"package_name":"argcomplete","ecosystem":"pypi","requirements":"==3.6.2","direct":true,"kind":"runtime","optional":false},{"id":25780312345,"package_name":"attrs","ecosystem":"pypi","requirements":"==25.3.0","direct":true,"kind":"runtime","optional":false},{"id":25780312346,"package_name":"attrs","ecosystem":"pypi","requirements":"==25.4.0","direct":true,"kind":"runtime","optional":false},{"id":25780312347,"package_name":"build","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":25780312348,"package_name":"build","ecosystem":"pypi","requirements":"==1.2.2.post1","direct":true,"kind":"runtime","optional":false},{"id":25780312349,"package_name":"build","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":25780312350,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"runtime","optional":false},{"id":25780312351,"package_name":"colorlog","ecosystem":"pypi","requirements":"==6.9.0","direct":true,"kind":"runtime","optional":false},{"id":25780312352,"package_name":"coverage","ecosystem":"pypi","requirements":"==7.2.7","direct":true,"kind":"runtime","optional":false},{"id":25780312353,"package_name":"coverage","ecosystem":"pypi","requirements":"==7.6.1","direct":true,"kind":"runtime","optional":false},{"id":25780312354,"package_name":"coverage","ecosystem":"pypi","requirements":"==7.10.4","direct":true,"kind":"runtime","optional":false},{"id":25780312355,"package_name":"dependency-groups","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":25780312356,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.4.0","direct":true,"kind":"runtime","optional":false},{"id":25780312357,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":25780312358,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.12.2","direct":true,"kind":"runtime","optional":false},{"id":25780312359,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.16.1","direct":true,"kind":"runtime","optional":false},{"id":25780312360,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.19.1","direct":true,"kind":"runtime","optional":false},{"id":25780312361,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.20.0","direct":true,"kind":"runtime","optional":false},{"id":25780312362,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==6.7.0","direct":true,"kind":"runtime","optional":false},{"id":25780312363,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==8.5.0","direct":true,"kind":"runtime","optional":false},{"id":25780312364,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==8.7.0","direct":true,"kind":"runtime","optional":false},{"id":25780312365,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":25780312366,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":25780312367,"package_name":"nox","ecosystem":"pypi","requirements":"==2024.4.15","direct":true,"kind":"runtime","optional":false},{"id":25780312368,"package_name":"nox","ecosystem":"pypi","requirements":"==2025.5.1","direct":true,"kind":"runtime","optional":false},{"id":25780312369,"package_name":"packaging","ecosystem":"pypi","requirements":"==24.0","direct":true,"kind":"runtime","optional":false},{"id":25780312370,"package_name":"packaging","ecosystem":"pypi","requirements":"==25.0","direct":true,"kind":"runtime","optional":false},{"id":25780312371,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.0.0","direct":true,"kind":"runtime","optional":false},{"id":25780312372,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.3.6","direct":true,"kind":"runtime","optional":false},{"id":25780312373,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.4.0","direct":true,"kind":"runtime","optional":false},{"id":25780312374,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.5.0","direct":true,"kind":"runtime","optional":false},{"id":25780312375,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":25780312376,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.5.0","direct":true,"kind":"runtime","optional":false},{"id":25780312377,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":25780312378,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.19.2","direct":true,"kind":"runtime","optional":false},{"id":25780312379,"package_name":"pyproject-hooks","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":25780312380,"package_name":"pytest","ecosystem":"pypi","requirements":"==7.4.4","direct":true,"kind":"runtime","optional":false},{"id":25780312381,"package_name":"pytest","ecosystem":"pypi","requirements":"==8.3.5","direct":true,"kind":"runtime","optional":false},{"id":25780312382,"package_name":"pytest","ecosystem":"pypi","requirements":"==8.4.1","direct":true,"kind":"runtime","optional":false},{"id":25780312383,"package_name":"tomli","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":25780312384,"package_name":"tomli","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"runtime","optional":false},{"id":25780312385,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.7.1","direct":true,"kind":"runtime","optional":false},{"id":25780312386,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.13.2","direct":true,"kind":"runtime","optional":false},{"id":25780312387,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.15.0","direct":true,"kind":"runtime","optional":false},{"id":25780312388,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.26.6","direct":true,"kind":"runtime","optional":false},{"id":25780312389,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.35.3","direct":true,"kind":"runtime","optional":false},{"id":25780312390,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.15.0","direct":true,"kind":"runtime","optional":false},{"id":25780312391,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.20.2","direct":true,"kind":"runtime","optional":false},{"id":25780312392,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.23.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2025-12-28T15:08:23.355Z","updated_at":"2025-12-28T15:08:23.355Z","repository_link":"https://github.com/jawah/charset_normalizer/blob/master/pyproject.toml","dependencies":[]}],"score":33.00057630995609,"created_at":"2025-10-10T07:02:52.297Z","updated_at":"2026-06-21T12:01:29.479Z","avatar_url":"https://github.com/jawah.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/368066","html_url":"https://summary.ecosyste.ms/projects/368066"}