{"id":16177,"name":"opennsfw2","description":"Keras implementation of the Yahoo Open-NSFW model","url":"https://github.com/bhky/opennsfw2","last_synced_at":"2025-09-04T23:05:36.182Z","repository":{"id":40263542,"uuid":"423429898","full_name":"bhky/opennsfw2","owner":"bhky","description":"Keras implementation of the Yahoo Open-NSFW model","archived":false,"fork":false,"pushed_at":"2025-08-23T00:42:12.000Z","size":49768,"stargazers_count":439,"open_issues_count":2,"forks_count":58,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-23T02:49:24.024Z","etag":null,"topics":["image-classification","image-preprocessing","jax","keras","nsfw-classifier","tensorflow2"],"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/bhky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["bhky"]}},"created_at":"2021-11-01T10:51:43.000Z","updated_at":"2025-08-21T08:34:34.000Z","dependencies_parsed_at":"2024-01-16T12:47:08.483Z","dependency_job_id":"c313496b-3690-4cd0-ba73-73d3eb020eca","html_url":"https://github.com/bhky/opennsfw2","commit_stats":{"total_commits":217,"total_committers":1,"mean_commits":217.0,"dds":0.0,"last_synced_commit":"4ac0ebcdcb3ea9ef9c014466577ce4f338c2ffac"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/bhky/opennsfw2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhky","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/sbom","scorecard":{"id":236593,"data":{"date":"2025-08-11","repo":{"name":"github.com/bhky/opennsfw2","commit":"5eea26409a29de5adbad6a6c76efc8c7621bc211"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":0,"reason":"Found 0/17 approved changesets -- score normalized to 0","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":"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":"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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":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:20: update your workflow using https://app.stepsecurity.io/secureworkflow/bhky/opennsfw2/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/bhky/opennsfw2/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:4","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:5","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:6","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:7","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:29","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Warn: 'force pushes' enabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'main'","Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"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":"Vulnerabilities","score":0,"reason":"44 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-48g7-3x6r-xfhp","Warn: Project is vulnerable to: GHSA-c9rc-mg46-23w3","Warn: Project is vulnerable to: GHSA-cjgq-5qmw-rcj6","Warn: Project is vulnerable to: GHSA-3448-vrgh-85xr","Warn: Project is vulnerable to: GHSA-8849-5h85-98qw","Warn: Project is vulnerable to: GHSA-hxfw-jm98-v4mq","Warn: Project is vulnerable to: GHSA-jggw-2q6g-c3m6","Warn: Project is vulnerable to: GHSA-m6vm-8g8v-xfjh","Warn: Project is vulnerable to: GHSA-q799-q27x-vp7w","Warn: Project is vulnerable to: GHSA-qr4w-53vh-m672","Warn: Project is vulnerable to: GHSA-x3rm-644h-67m8","Warn: Project is vulnerable to: PYSEC-2023-183","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: PYSEC-2021-41 / GHSA-3wvg-mj6g-m9cv","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: GHSA-4fx9-vc88-q2xc","Warn: Project is vulnerable to: PYSEC-2021-35 / GHSA-57h3-9rgr-c24m","Warn: Project is vulnerable to: PYSEC-2021-331 / GHSA-7534-mm45-c74v","Warn: Project is vulnerable to: PYSEC-2021-137 / GHSA-77gc-v2xv-rvvh","Warn: Project is vulnerable to: PYSEC-2021-92 / GHSA-7r7m-5h27-29hp","Warn: Project is vulnerable to: PYSEC-2023-227 / GHSA-8ghj-p4vj-mr35","Warn: Project is vulnerable to: PYSEC-2022-10 / GHSA-8vj2-vxx3-667w","Warn: Project is vulnerable to: PYSEC-2021-36 / GHSA-8xjq-8fcg-g5hw","Warn: Project is vulnerable to: PYSEC-2021-42 / GHSA-95q3-8gr9-gm8w","Warn: Project is vulnerable to: PYSEC-2021-317 / GHSA-98vv-pw6r-q6q4","Warn: Project is vulnerable to: PYSEC-2021-38 / GHSA-9hx2-hgq2-2g4f","Warn: Project is vulnerable to: PYSEC-2022-168 / GHSA-9j59-75qj-795w","Warn: Project is vulnerable to: PYSEC-2021-40 / GHSA-f4w8-cv6p-x6r5","Warn: Project is vulnerable to: PYSEC-2021-69 / GHSA-f5g8-5qq7-938w","Warn: Project is vulnerable to: PYSEC-2021-139 / GHSA-g6rj-rv7j-xwp4","Warn: Project is vulnerable to: PYSEC-2021-71 / GHSA-hf64-x4gq-p99h","Warn: Project is vulnerable to: PYSEC-2021-94 / GHSA-hjfx-8p6c-g7gx","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: GHSA-jgpv-4h4c-xhw3","Warn: Project is vulnerable to: PYSEC-2022-42979 / GHSA-m2vv-5vj5-2hm7","Warn: Project is vulnerable to: PYSEC-2021-37 / GHSA-mvg9-xffr-p774","Warn: Project is vulnerable to: PYSEC-2021-39 / GHSA-p43w-g3c5-g5mq","Warn: Project is vulnerable to: PYSEC-2022-8 / GHSA-pw3c-h7wp-cvhx","Warn: Project is vulnerable to: PYSEC-2021-93 / GHSA-q5hq-fp76-qmrc","Warn: Project is vulnerable to: PYSEC-2021-138 / GHSA-rwv7-3v45-hg29","Warn: Project is vulnerable to: PYSEC-2021-70 / GHSA-vqcj-wrf2-7v73","Warn: Project is vulnerable to: PYSEC-2022-9 / GHSA-xrcv-f9gm-v42c","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: GHSA-g7vv-2v7x-gj9p"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-17T05:53:45.717Z","repository_id":40263542,"created_at":"2025-08-17T05:53:45.717Z","updated_at":"2025-08-17T05:53:45.717Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273685604,"owners_count":25149722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"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":"bhky","name":"Bosco Yung","uuid":"15840328","kind":"user","description":"Machine Learning Engineer","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/15840328?u=6372b0c1fc5c57747e53846031a0ce042c673876\u0026v=4","repositories_count":3,"last_synced_at":"2023-03-09T23:15:35.756Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bhky","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-19T14:35:03.465Z","updated_at":"2023-03-09T23:15:35.804Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhky","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhky/repositories"},"packages":[{"id":2840447,"name":"opennsfw2","ecosystem":"pypi","description":"TensorFlow 2 implementation of the Yahoo Open-NSFW model","homepage":"https://github.com/bhky/opennsfw2","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/bhky/opennsfw2","keywords_array":[],"namespace":null,"versions_count":35,"first_release_published_at":"2021-11-05T13:18:22.000Z","latest_release_published_at":"2024-08-18T10:02:33.000Z","latest_release_number":"0.14.0","last_synced_at":"2025-08-23T03:01:47.955Z","created_at":"2022-04-10T11:57:13.271Z","updated_at":"2025-08-23T08:56:06.693Z","registry_url":"https://pypi.org/project/opennsfw2/","install_command":"pip install opennsfw2 --index-url https://pypi.org/simple","documentation_url":"https://opennsfw2.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"opennsfw2","project_status":null},"repo_metadata":{"id":40263542,"uuid":"423429898","full_name":"bhky/opennsfw2","owner":"bhky","description":"Keras implementation of the Yahoo Open-NSFW model","archived":false,"fork":false,"pushed_at":"2025-08-23T00:42:12.000Z","size":49768,"stargazers_count":439,"open_issues_count":2,"forks_count":58,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-23T02:49:24.024Z","etag":null,"topics":["image-classification","image-preprocessing","jax","keras","nsfw-classifier","tensorflow2"],"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/bhky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["bhky"]}},"created_at":"2021-11-01T10:51:43.000Z","updated_at":"2025-08-21T08:34:34.000Z","dependencies_parsed_at":"2024-01-16T12:47:08.483Z","dependency_job_id":"c313496b-3690-4cd0-ba73-73d3eb020eca","html_url":"https://github.com/bhky/opennsfw2","commit_stats":{"total_commits":217,"total_committers":1,"mean_commits":217.0,"dds":0.0,"last_synced_commit":"4ac0ebcdcb3ea9ef9c014466577ce4f338c2ffac"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/bhky/opennsfw2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhky","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/sbom","scorecard":{"id":236593,"data":{"date":"2025-08-11","repo":{"name":"github.com/bhky/opennsfw2","commit":"5eea26409a29de5adbad6a6c76efc8c7621bc211"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":0,"reason":"Found 0/17 approved changesets -- score normalized to 0","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":"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":"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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":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:20: update your workflow using https://app.stepsecurity.io/secureworkflow/bhky/opennsfw2/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/bhky/opennsfw2/ci.yml/main?enable=pin","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:4","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:5","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:6","Warn: pipCommand not pinned by hash: tests/install_from_local.sh:7","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:29","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Warn: 'force pushes' enabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'main'","Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"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":"Vulnerabilities","score":0,"reason":"44 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-48g7-3x6r-xfhp","Warn: Project is vulnerable to: GHSA-c9rc-mg46-23w3","Warn: Project is vulnerable to: GHSA-cjgq-5qmw-rcj6","Warn: Project is vulnerable to: GHSA-3448-vrgh-85xr","Warn: Project is vulnerable to: GHSA-8849-5h85-98qw","Warn: Project is vulnerable to: GHSA-hxfw-jm98-v4mq","Warn: Project is vulnerable to: GHSA-jggw-2q6g-c3m6","Warn: Project is vulnerable to: GHSA-m6vm-8g8v-xfjh","Warn: Project is vulnerable to: GHSA-q799-q27x-vp7w","Warn: Project is vulnerable to: GHSA-qr4w-53vh-m672","Warn: Project is vulnerable to: GHSA-x3rm-644h-67m8","Warn: Project is vulnerable to: PYSEC-2023-183","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: PYSEC-2021-41 / GHSA-3wvg-mj6g-m9cv","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: GHSA-4fx9-vc88-q2xc","Warn: Project is vulnerable to: PYSEC-2021-35 / GHSA-57h3-9rgr-c24m","Warn: Project is vulnerable to: PYSEC-2021-331 / GHSA-7534-mm45-c74v","Warn: Project is vulnerable to: PYSEC-2021-137 / GHSA-77gc-v2xv-rvvh","Warn: Project is vulnerable to: PYSEC-2021-92 / GHSA-7r7m-5h27-29hp","Warn: Project is vulnerable to: PYSEC-2023-227 / GHSA-8ghj-p4vj-mr35","Warn: Project is vulnerable to: PYSEC-2022-10 / GHSA-8vj2-vxx3-667w","Warn: Project is vulnerable to: PYSEC-2021-36 / GHSA-8xjq-8fcg-g5hw","Warn: Project is vulnerable to: PYSEC-2021-42 / GHSA-95q3-8gr9-gm8w","Warn: Project is vulnerable to: PYSEC-2021-317 / GHSA-98vv-pw6r-q6q4","Warn: Project is vulnerable to: PYSEC-2021-38 / GHSA-9hx2-hgq2-2g4f","Warn: Project is vulnerable to: PYSEC-2022-168 / GHSA-9j59-75qj-795w","Warn: Project is vulnerable to: PYSEC-2021-40 / GHSA-f4w8-cv6p-x6r5","Warn: Project is vulnerable to: PYSEC-2021-69 / GHSA-f5g8-5qq7-938w","Warn: Project is vulnerable to: PYSEC-2021-139 / GHSA-g6rj-rv7j-xwp4","Warn: Project is vulnerable to: PYSEC-2021-71 / GHSA-hf64-x4gq-p99h","Warn: Project is vulnerable to: PYSEC-2021-94 / GHSA-hjfx-8p6c-g7gx","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: GHSA-jgpv-4h4c-xhw3","Warn: Project is vulnerable to: PYSEC-2022-42979 / GHSA-m2vv-5vj5-2hm7","Warn: Project is vulnerable to: PYSEC-2021-37 / GHSA-mvg9-xffr-p774","Warn: Project is vulnerable to: PYSEC-2021-39 / GHSA-p43w-g3c5-g5mq","Warn: Project is vulnerable to: PYSEC-2022-8 / GHSA-pw3c-h7wp-cvhx","Warn: Project is vulnerable to: PYSEC-2021-93 / GHSA-q5hq-fp76-qmrc","Warn: Project is vulnerable to: PYSEC-2021-138 / GHSA-rwv7-3v45-hg29","Warn: Project is vulnerable to: PYSEC-2021-70 / GHSA-vqcj-wrf2-7v73","Warn: Project is vulnerable to: PYSEC-2022-9 / GHSA-xrcv-f9gm-v42c","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: GHSA-g7vv-2v7x-gj9p"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-17T05:53:45.717Z","repository_id":40263542,"created_at":"2025-08-17T05:53:45.717Z","updated_at":"2025-08-17T05:53:45.717Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271746278,"owners_count":24813553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"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":"bhky","name":"Bosco Yung","uuid":"15840328","kind":"user","description":"Machine Learning Engineer","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/15840328?u=6372b0c1fc5c57747e53846031a0ce042c673876\u0026v=4","repositories_count":3,"last_synced_at":"2023-03-09T23:15:35.756Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/bhky","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-19T14:35:03.465Z","updated_at":"2023-03-09T23:15:35.804Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhky","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhky/repositories"},"tags":[{"name":"v0.14.0","sha":"4ac0ebcdcb3ea9ef9c014466577ce4f338c2ffac","kind":"commit","published_at":"2024-08-18T10:03:27.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.14.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.14.0/manifests"},{"name":"v0.13.10","sha":"ef9c389d4a371124a81e32758e52c5aed53fabc2","kind":"commit","published_at":"2024-08-12T10:23:42.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.10","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.10/manifests"},{"name":"v0.13.9","sha":"9a4f78e48ddfa67152fb1b694df4267c81eff68b","kind":"commit","published_at":"2024-07-19T12:08:41.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.9","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.9/manifests"},{"name":"v0.13.7","sha":"bc1a1b29daf71ba3222af0f2ab2c7f993cd400be","kind":"commit","published_at":"2023-12-28T02:08:41.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.7","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.7/manifests"},{"name":"v0.13.5","sha":"78e2e3acb8325e1bff43221e23c2b5a40ed970f2","kind":"commit","published_at":"2023-12-28T01:19:41.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.5","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.5/manifests"},{"name":"v0.13.4","sha":"25a1cd07593ef53c9027e03fda96cbf836ed8cf4","kind":"commit","published_at":"2023-12-21T07:56:10.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.4","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.4/manifests"},{"name":"v0.13.2","sha":"dd400e8509632281294a37ff861011ca07e4947d","kind":"commit","published_at":"2023-12-21T02:56:15.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.2","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.2/manifests"},{"name":"v0.13.1","sha":"8e5a5f5610bdfb6633c7a2192a3572eca5819771","kind":"commit","published_at":"2023-12-21T02:14:35.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.13.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.13.1/manifests"},{"name":"v0.12.1","sha":"7d6656b53a7c168aecd73f33368dbc972005263d","kind":"commit","published_at":"2023-12-07T01:49:32.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.12.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.12.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.12.1/manifests"},{"name":"v0.12.0","sha":"a4fef3601a082715d0917d89966c692c41ab32c9","kind":"commit","published_at":"2023-12-02T03:54:11.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.12.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"9654c1e9238307d087066891c70d55bbb1df3951","kind":"commit","published_at":"2023-08-05T05:10:21.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.11.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.11.0/manifests"},{"name":"v0.10.2","sha":"a7cc165651f098f080b077cdc4cf0ef9db6f2ef9","kind":"commit","published_at":"2022-10-18T09:40:07.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.10.2","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.10.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.10.2/manifests"},{"name":"v0.10.1","sha":"a7f6755eff8f727dbd41df523939875781c8d78e","kind":"commit","published_at":"2022-06-03T03:29:38.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.10.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.10.1/manifests"},{"name":"v0.9.2","sha":"9da0836d2d59ee85f7dde4332712d361474d799e","kind":"commit","published_at":"2022-05-21T02:05:27.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.9.2","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.9.2/manifests"},{"name":"v0.9.1","sha":"056f87a1f5a1fce1bdd3aba1454fe30f06ee282f","kind":"commit","published_at":"2022-05-21T01:55:46.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.9.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.9.1/manifests"},{"name":"v0.8.0","sha":"82bf2b6003aae296632fc4d53a7600231b6353e0","kind":"commit","published_at":"2022-05-17T13:05:09.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.8.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"ab4a2c1938404c51da5a6bc8b21de0b6716338f1","kind":"commit","published_at":"2022-01-04T08:25:30.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.7.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.7.0/manifests"},{"name":"v0.6.1","sha":"7c6ef759e1973eb00fd718a5ad06872cfb513efa","kind":"commit","published_at":"2021-12-06T04:35:13.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.6.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"e31296fbcfb2a6113a2b870bebf4bf681a7b9491","kind":"commit","published_at":"2021-11-23T00:52:04.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.6.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.6.0/manifests"},{"name":"v0.5.3","sha":"26e7a42849685ce4a3f070e8d81c1c03c41a4e66","kind":"commit","published_at":"2021-11-21T01:10:14.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.5.3","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"11c5ed53e5404c67e8c4bcaf9d95bda949ee4c2f","kind":"commit","published_at":"2021-11-17T07:32:51.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.5.2","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"266ea1ef15330a09e991f81e2029ba54f8e26303","kind":"commit","published_at":"2021-11-16T23:26:46.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.5.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"88d4e1a28dcd86a4bd4eb7a2c8d621c4a988fe04","kind":"commit","published_at":"2021-11-14T12:24:49.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.5.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"26e5fa31fdda9f87a5974adbdede7b3e398c08ef","kind":"commit","published_at":"2021-11-08T02:58:30.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.4.1","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"04e91cd3a9456d559fd3a94da9af5a50759bfec1","kind":"commit","published_at":"2021-11-07T09:45:51.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.4.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"5b63d3958fc7253ec74976cc7a31b6d7ca179651","kind":"commit","published_at":"2021-11-07T08:24:38.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.3.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"2d251a984ec111fbdecd991d849259ff873df92a","kind":"commit","published_at":"2021-11-06T13:36:58.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.2.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.2.0/manifests"},{"name":"v0.1.2","sha":"b998b1426899c462c00c748e982d8948e506550d","kind":"commit","published_at":"2021-11-06T11:02:52.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.1.2","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.1.2/manifests"},{"name":"v0.1.0","sha":"72ccae84fbd8f9f1cff55008320c1208296ae10d","kind":"commit","published_at":"2021-11-05T11:26:29.000Z","download_url":"https://codeload.github.com/bhky/opennsfw2/tar.gz/v0.1.0","html_url":"https://github.com/bhky/opennsfw2/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/bhky/opennsfw2@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-23T08:56:06.693Z","dependent_packages_count":0,"downloads":66397,"downloads_period":"last-month","dependent_repos_count":68,"rankings":{"downloads":0.6145719532776518,"dependent_repos_count":1.8077573782818472,"dependent_packages_count":7.312883868137378,"stargazers_count":4.431384913042712,"forks_count":6.927245415750273,"docker_downloads_count":2.7697429620563034,"average":3.9772644150910277},"purl":"pkg:pypi/opennsfw2","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/opennsfw2","docker_dependents_count":4,"docker_downloads_count":55,"usage_url":"https://repos.ecosyste.ms/usage/pypi/opennsfw2","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/opennsfw2/dependencies","status":null,"funding_links":["https://github.com/sponsors/bhky"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-02T14:48:12.564Z","issues_count":16,"pull_requests_count":9,"avg_time_to_close_issue":3367520.0,"avg_time_to_close_pull_request":201047.77777777778,"issues_closed_count":15,"pull_requests_closed_count":9,"pull_request_authors_count":1,"issue_authors_count":13,"avg_comments_per_issue":2.875,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":47653.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/issues","maintainers":[{"login":"bhky","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bhky"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opennsfw2/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opennsfw2/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opennsfw2/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/opennsfw2/related_packages","maintainers":[{"uuid":"bhky","login":"bhky","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/bhky/","role":null,"created_at":"2023-02-24T22:51:57.544Z","updated_at":"2023-02-24T22:51:57.544Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/bhky/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":724928,"maintainers_count":308248,"namespaces_count":0,"keywords_count":237984,"github":"pypi","metadata":{"funded_packages_count":50481},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-04T05:23:51.177Z","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":623012,"full_name":"bhky/opennsfw2","default_branch":"main","committers":[{"name":"Bosco Yung","email":"15840328+bhky","login":"bhky","count":218}],"total_commits":218,"total_committers":1,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":218.0,"dds":0.0,"past_year_committers":[{"name":"Bosco Yung","email":"15840328+bhky","login":"bhky","count":25}],"past_year_total_commits":25,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":25.0,"past_year_dds":0.0,"last_synced_at":"2025-05-17T16:08:36.825Z","last_synced_commit":"5eea26409a29de5adbad6a6c76efc8c7621bc211","created_at":"2023-03-09T08:03:24.649Z","updated_at":"2025-05-17T16:08:36.826Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"bhky/opennsfw2","html_url":"https://github.com/bhky/opennsfw2","last_synced_at":"2025-08-31T13:09:37.605Z","status":null,"issues_count":16,"pull_requests_count":10,"avg_time_to_close_issue":3367520.0,"avg_time_to_close_pull_request":201047.77777777778,"issues_closed_count":15,"pull_requests_closed_count":9,"pull_request_authors_count":1,"issue_authors_count":13,"avg_comments_per_issue":2.875,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"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":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-14T19:33:48.274Z","updated_at":"2025-09-02T03:19:25.091Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhky%2Fopennsfw2/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":16},"pull_request_author_associations_count":{"OWNER":12},"issue_authors":{"henryruhs":4,"yasersakkaf":1,"DankMemeGuy":1,"NasaKHw":1,"fog88":1,"Flori00123":1,"shuangmei":1,"MisakaMikoto-o":1,"lukywangwang":1,"hldh214":1,"FunkyMuse":1,"Clasher31HD":1,"ardst1":1},"pull_request_authors":{"bhky":12},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.273Z","repositories_count":10060000,"issues_count":31029180,"pull_requests_count":93946207,"authors_count":10685667,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"OWNER":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"bhky":1},"maintainers":[{"login":"bhky","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bhky"}],"active_maintainers":[{"login":"bhky","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bhky"}]},"events":{"total":{"IssuesEvent":1,"WatchEvent":83,"PushEvent":21,"PullRequestEvent":1,"ForkEvent":13,"CreateEvent":1},"last_year":{"IssuesEvent":1,"WatchEvent":83,"PushEvent":21,"PullRequestEvent":1,"ForkEvent":13,"CreateEvent":1}},"keywords":["image-classification","image-preprocessing","jax","keras","nsfw-classifier","tensorflow2"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-16T13:53:01.480Z","updated_at":"2022-09-16T13:53:01.480Z","repository_link":"https://github.com/bhky/opennsfw2/blob/main/requirements.txt","dependencies":[{"id":5061106250,"package_name":"gdown","ecosystem":"pypi","requirements":"\u003e=4.2.0","direct":true,"kind":"runtime","optional":false},{"id":5061106251,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.0.0","direct":true,"kind":"runtime","optional":false},{"id":5061106252,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.22.0","direct":true,"kind":"runtime","optional":false},{"id":5061106253,"package_name":"opencv-python","ecosystem":"pypi","requirements":"\u003e=4.0.0.0","direct":true,"kind":"runtime","optional":false},{"id":5061106254,"package_name":"Pillow","ecosystem":"pypi","requirements":"\u003e=9.0.0","direct":true,"kind":"runtime","optional":false},{"id":5061106255,"package_name":"scikit-image","ecosystem":"pypi","requirements":"\u003e=0.18.0","direct":true,"kind":"runtime","optional":false},{"id":5061106256,"package_name":"tensorflow","ecosystem":"pypi","requirements":"\u003e=2.0.0","direct":true,"kind":"runtime","optional":false},{"id":5061106257,"package_name":"tqdm","ecosystem":"pypi","requirements":"\u003e=4.62","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2024-01-16T12:47:08.307Z","updated_at":"2024-01-16T12:47:08.307Z","repository_link":"https://github.com/bhky/opennsfw2/blob/main/.github/workflows/ci.yml","dependencies":[{"id":15644068248,"package_name":"actions/checkout","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":15644068249,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-01-16T12:47:08.370Z","updated_at":"2024-01-16T12:47:08.370Z","repository_link":"https://github.com/bhky/opennsfw2/blob/main/pyproject.toml","dependencies":[]}],"score":17.194377971292734,"created_at":"2025-09-04T15:50:47.169Z","updated_at":"2025-10-07T08:08:39.523Z","avatar_url":"https://github.com/bhky.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":66397,"funding_links":["https://github.com/sponsors/bhky"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/16177","html_url":"https://science.ecosyste.ms/projects/16177","bibtex_url":"https://science.ecosyste.ms/projects/16177/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/16177/export.apalike"}