{"id":128,"name":"abspy","description":"abspy: A Python package for 3D adaptive binary space partitioning and modeling - Published in JOSS (2025)","url":"https://github.com/chenzhaiyu/abspy","last_synced_at":"2025-09-04T15:56:07.120Z","repository":{"id":44919782,"uuid":"340181236","full_name":"chenzhaiyu/abspy","owner":"chenzhaiyu","description":"3D adaptive binary space partitioning and beyond","archived":false,"fork":false,"pushed_at":"2025-06-06T19:06:47.000Z","size":14214,"stargazers_count":89,"open_issues_count":1,"forks_count":13,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-04T10:13:52.158Z","etag":null,"topics":["3d","adaptive","binary-space-partition","point-cloud","python","reconstruction"],"latest_commit_sha":null,"homepage":"https://abspy.readthedocs.io/","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/chenzhaiyu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-18T21:23:59.000Z","updated_at":"2025-08-31T09:09:06.000Z","dependencies_parsed_at":"2023-12-15T22:06:05.996Z","dependency_job_id":"1cd27eea-4f47-430e-b260-1c8d58acddcf","html_url":"https://github.com/chenzhaiyu/abspy","commit_stats":{"total_commits":94,"total_committers":3,"mean_commits":"31.333333333333332","dds":"0.42553191489361697","last_synced_commit":"083a02ce7a2abcd81655c41295de2b25f48c9abd"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/chenzhaiyu/abspy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenzhaiyu","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/sbom","scorecard":{"id":276708,"data":{"date":"2025-08-11","repo":{"name":"github.com/chenzhaiyu/abspy","commit":"73cc3fa07ca308e554d04cd46f961dff6fbdadf9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 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":"Maintained","score":5,"reason":"4 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/python-publish.yml:16","Warn: no topLevel permission defined: .github/workflows/tests.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/python-publish.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python-publish.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/tests.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:32","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/python-publish.yml:41"],"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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.3.0 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/223659436","Warn: release artifact v0.2.6 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/198150576","Warn: release artifact v0.2.5 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/188342073","Warn: release artifact v0.2.4 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/132383475","Warn: release artifact v0.2.3 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/101715524","Warn: release artifact v0.3.0 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/223659436","Warn: release artifact v0.2.6 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/198150576","Warn: release artifact v0.2.5 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/188342073","Warn: release artifact v0.2.4 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/132383475","Warn: release artifact v0.2.3 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/101715524"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 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-17T14:38:22.359Z","repository_id":44919782,"created_at":"2025-08-17T14:38:22.361Z","updated_at":"2025-08-17T14:38:22.361Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273619716,"owners_count":25138240,"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":"chenzhaiyu","name":"Zhaiyu Chen","uuid":"24312770","kind":"user","description":"","email":"","website":"chenzhaiyu.com","location":"Munich, Germany","twitter":null,"company":"Technical University of Munich","icon_url":"https://avatars.githubusercontent.com/u/24312770?u=e4366f206d750a28830bd6c9c8cd7d0033a310f8\u0026v=4","repositories_count":32,"last_synced_at":"2024-05-06T00:02:50.963Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/chenzhaiyu","funding_links":[],"total_stars":549,"followers":131,"following":96,"created_at":"2022-11-20T02:32:02.783Z","updated_at":"2024-05-06T00:02:51.729Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenzhaiyu","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenzhaiyu/repositories"},"packages":[{"id":2630671,"name":"abspy","ecosystem":"pypi","description":"A Python tool for 3D adaptive binary space partitioning and beyond","homepage":"https://github.com/chenzhaiyu/abspy","licenses":"'MIT'","normalized_licenses":["Other"],"repository_url":"https://github.com/chenzhaiyu/abspy","keywords_array":[],"namespace":null,"versions_count":21,"first_release_published_at":"2022-01-14T16:43:40.000Z","latest_release_published_at":"2025-06-06T15:36:14.000Z","latest_release_number":"0.3.0","last_synced_at":"2025-09-04T10:33:46.241Z","created_at":"2022-04-10T09:57:26.387Z","updated_at":"2025-09-04T10:33:46.241Z","registry_url":"https://pypi.org/project/abspy/","install_command":"pip install abspy --index-url https://pypi.org/simple","documentation_url":"https://abspy.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3"],"normalized_name":"abspy","project_status":null},"repo_metadata":{"id":44919782,"uuid":"340181236","full_name":"chenzhaiyu/abspy","owner":"chenzhaiyu","description":"3D adaptive binary space partitioning and beyond","archived":false,"fork":false,"pushed_at":"2025-06-06T19:06:47.000Z","size":14214,"stargazers_count":89,"open_issues_count":1,"forks_count":12,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-28T21:59:29.627Z","etag":null,"topics":["3d","adaptive","binary-space-partition","point-cloud","python","reconstruction"],"latest_commit_sha":null,"homepage":"https://abspy.readthedocs.io/","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/chenzhaiyu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-02-18T21:23:59.000Z","updated_at":"2025-07-21T09:00:27.000Z","dependencies_parsed_at":"2023-12-15T22:06:05.996Z","dependency_job_id":"1cd27eea-4f47-430e-b260-1c8d58acddcf","html_url":"https://github.com/chenzhaiyu/abspy","commit_stats":{"total_commits":94,"total_committers":3,"mean_commits":"31.333333333333332","dds":"0.42553191489361697","last_synced_commit":"083a02ce7a2abcd81655c41295de2b25f48c9abd"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/chenzhaiyu/abspy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenzhaiyu","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/sbom","scorecard":{"id":276708,"data":{"date":"2025-08-11","repo":{"name":"github.com/chenzhaiyu/abspy","commit":"73cc3fa07ca308e554d04cd46f961dff6fbdadf9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 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":"Maintained","score":5,"reason":"4 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/python-publish.yml:16","Warn: no topLevel permission defined: .github/workflows/tests.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/python-publish.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-publish.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python-publish.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/python-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/chenzhaiyu/abspy/tests.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-publish.yml:32","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/python-publish.yml:41"],"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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.3.0 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/223659436","Warn: release artifact v0.2.6 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/198150576","Warn: release artifact v0.2.5 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/188342073","Warn: release artifact v0.2.4 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/132383475","Warn: release artifact v0.2.3 not signed: https://api.github.com/repos/chenzhaiyu/abspy/releases/101715524","Warn: release artifact v0.3.0 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/223659436","Warn: release artifact v0.2.6 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/198150576","Warn: release artifact v0.2.5 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/188342073","Warn: release artifact v0.2.4 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/132383475","Warn: release artifact v0.2.3 does not have provenance: https://api.github.com/repos/chenzhaiyu/abspy/releases/101715524"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 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-17T14:38:22.359Z","repository_id":44919782,"created_at":"2025-08-17T14:38:22.361Z","updated_at":"2025-08-17T14:38:22.361Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272116856,"owners_count":24876268,"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-25T02:00:12.092Z","response_time":1107,"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":"chenzhaiyu","name":"Zhaiyu Chen","uuid":"24312770","kind":"user","description":"","email":"","website":"chenzhaiyu.com","location":"Munich, Germany","twitter":null,"company":"Technical University of Munich","icon_url":"https://avatars.githubusercontent.com/u/24312770?u=e4366f206d750a28830bd6c9c8cd7d0033a310f8\u0026v=4","repositories_count":32,"last_synced_at":"2024-05-06T00:02:50.963Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/chenzhaiyu","funding_links":[],"total_stars":549,"followers":131,"following":96,"created_at":"2022-11-20T02:32:02.783Z","updated_at":"2024-05-06T00:02:51.729Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenzhaiyu","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenzhaiyu/repositories"},"tags":[{"name":"v0.2.6","sha":"0a8e3bc075d579db5aa8a88041a7b044ecd5d197","kind":"commit","published_at":"2025-02-03T17:07:44.000Z","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/v0.2.6","html_url":"https://github.com/chenzhaiyu/abspy/releases/tag/v0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/chenzhaiyu/abspy@v0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.6/manifests"},{"name":"v0.2.5","sha":"02ce4baa3a9b0594695d8d58ba6a86f141cafebd","kind":"commit","published_at":"2024-12-01T10:25:32.000Z","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/v0.2.5","html_url":"https://github.com/chenzhaiyu/abspy/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/chenzhaiyu/abspy@v0.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.5/manifests"},{"name":"v0.2.4","sha":"c49d33aee9178f8981f60bb00da8517c4534a8ca","kind":"commit","published_at":"2023-12-02T16:00:48.000Z","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/v0.2.4","html_url":"https://github.com/chenzhaiyu/abspy/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/chenzhaiyu/abspy@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"f05e397b44b24c36aedccc6fb1f03af3f443a11d","kind":"commit","published_at":"2023-05-03T12:25:16.000Z","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/v0.2.3","html_url":"https://github.com/chenzhaiyu/abspy/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/chenzhaiyu/abspy@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.3/manifests"},{"name":"v0.2.1","sha":"0707520b72ce9ddb1b87cf8a8e7336af68686f46","kind":"commit","published_at":"2022-11-02T15:34:07.000Z","download_url":"https://codeload.github.com/chenzhaiyu/abspy/tar.gz/v0.2.1","html_url":"https://github.com/chenzhaiyu/abspy/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/chenzhaiyu/abspy@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/tags/v0.2.1/manifests"}]},"repo_metadata_updated_at":"2025-08-25T21:39:47.158Z","dependent_packages_count":0,"downloads":364,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":10.962449394059828,"dependent_repos_count":21.544734775075646,"dependent_packages_count":10.119285352930213,"stargazers_count":9.614986013839738,"forks_count":11.40522869602095,"docker_downloads_count":null,"average":12.729336846385275},"purl":"pkg:pypi/abspy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/abspy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/abspy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/abspy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-25T18:58:19.166Z","issues_count":20,"pull_requests_count":12,"avg_time_to_close_issue":10954367.5,"avg_time_to_close_pull_request":108642.66666666667,"issues_closed_count":20,"pull_requests_closed_count":12,"pull_request_authors_count":2,"issue_authors_count":7,"avg_comments_per_issue":2.95,"avg_comments_per_pull_request":0.3333333333333333,"merged_pull_requests_count":11,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":9,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":1115817.2222222222,"past_year_avg_time_to_close_pull_request":172.5,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":2.6666666666666665,"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/chenzhaiyu%2Fabspy/issues","maintainers":[{"login":"chenzhaiyu","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/chenzhaiyu"}],"active_maintainers":[{"login":"chenzhaiyu","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/chenzhaiyu"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/abspy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/abspy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/abspy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/abspy/related_packages","maintainers":[{"uuid":"chenzhaiyu","login":"chenzhaiyu","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/chenzhaiyu/","role":null,"created_at":"2022-11-14T21:57:57.802Z","updated_at":"2022-11-14T21:57:57.802Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/chenzhaiyu/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":724776,"maintainers_count":308199,"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":529956,"full_name":"chenzhaiyu/abspy","default_branch":"main","committers":[{"name":"Zhaiyu Chen","email":"zhaiyu.chen@outlook.com","login":null,"count":54},{"name":"chenzhaiyu","email":"24312770+chenzhaiyu","login":"chenzhaiyu","count":39},{"name":"Yuqing Wang","email":"yuqing.wang@graviti.com","login":null,"count":1}],"total_commits":94,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":31.333333333333332,"dds":0.42553191489361697,"past_year_committers":[{"name":"chenzhaiyu","email":"zhaiyu.chen@outlook.com","login":null,"count":30},{"name":"Yuqing Wang","email":"yuqing.wang@graviti.com","login":null,"count":1}],"past_year_total_commits":31,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":15.5,"past_year_dds":0.032258064516129004,"last_synced_at":"2024-01-27T05:38:25.031Z","last_synced_commit":"083a02ce7a2abcd81655c41295de2b25f48c9abd","created_at":"2023-03-09T03:44:49.214Z","updated_at":"2024-01-27T05:38:25.032Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.276Z","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":"chenzhaiyu/abspy","html_url":"https://github.com/chenzhaiyu/abspy","last_synced_at":"2025-08-31T15:10:11.717Z","status":null,"issues_count":22,"pull_requests_count":14,"avg_time_to_close_issue":11945694.0,"avg_time_to_close_pull_request":100309.92307692308,"issues_closed_count":18,"pull_requests_closed_count":13,"pull_request_authors_count":2,"issue_authors_count":8,"avg_comments_per_issue":2.3181818181818183,"avg_comments_per_pull_request":0.2857142857142857,"merged_pull_requests_count":12,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":853928.1428571428,"past_year_avg_time_to_close_pull_request":220.66666666666666,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":1.4545454545454546,"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":3,"created_at":"2023-05-14T08:23:09.232Z","updated_at":"2025-09-01T13:47:36.866Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenzhaiyu%2Fabspy/issues","issue_labels_count":{"bug":5,"enhancement":5,"documentation":2,"help wanted":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":15,"OWNER":7},"pull_request_author_associations_count":{"OWNER":13},"issue_authors":{"chenzhaiyu":7,"tuelwer":6,"preetishkakkar":4,"fangxunyes":1,"raphaelsulzer":1,"yqf2000119":1,"matthewfeickert":1,"zuixiaosanlang":1},"pull_request_authors":{"chenzhaiyu":13},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.986Z","repositories_count":10042729,"issues_count":30645220,"pull_requests_count":91402388,"authors_count":10443886,"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":{"enhancement":3,"bug":1,"documentation":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":11},"past_year_pull_request_author_associations_count":{"OWNER":4},"past_year_issue_authors":{"tuelwer":6,"preetishkakkar":4,"matthewfeickert":1},"past_year_pull_request_authors":{"chenzhaiyu":4},"maintainers":[{"login":"chenzhaiyu","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/chenzhaiyu"}],"active_maintainers":[{"login":"chenzhaiyu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/chenzhaiyu"}]},"events":{"total":{"CreateEvent":7,"IssuesEvent":21,"ReleaseEvent":2,"WatchEvent":17,"DeleteEvent":2,"IssueCommentEvent":24,"PushEvent":64,"PullRequestEvent":3,"ForkEvent":1},"last_year":{"CreateEvent":7,"IssuesEvent":21,"ReleaseEvent":2,"WatchEvent":17,"DeleteEvent":2,"IssueCommentEvent":24,"PushEvent":64,"PullRequestEvent":3,"ForkEvent":1}},"keywords":["3d","adaptive","binary-space-partition","point-cloud","python","reconstruction"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/python-publish.yml","sha":null,"kind":"manifest","created_at":"2023-01-27T06:30:53.165Z","updated_at":"2023-01-27T06:30:53.165Z","repository_link":"https://github.com/chenzhaiyu/abspy/blob/main/.github/workflows/python-publish.yml","dependencies":[{"id":7181783273,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7181783274,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7181783275,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"27b31702a0e7fc50959f5ad993c78deac1bdfc29","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-10T18:41:16.764Z","updated_at":"2022-09-10T18:41:16.764Z","repository_link":"https://github.com/chenzhaiyu/abspy/blob/main/docs/requirements.txt","dependencies":[{"id":4417731064,"package_name":"abspy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4417731065,"package_name":"sphinx","ecosystem":"pypi","requirements":"==4.3.2","direct":true,"kind":"runtime","optional":false},{"id":4417731066,"package_name":"sphinx_rtd_theme","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":4417731067,"package_name":"myst_parser","ecosystem":"pypi","requirements":"==0.16.1","direct":true,"kind":"runtime","optional":false},{"id":4417731068,"package_name":"attrs","ecosystem":"pypi","requirements":"==21.4.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-11-15T16:27:15.478Z","updated_at":"2023-11-15T16:27:15.478Z","repository_link":"https://github.com/chenzhaiyu/abspy/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"pypi","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2023-12-15T22:06:00.914Z","updated_at":"2023-12-15T22:06:00.914Z","repository_link":"https://github.com/chenzhaiyu/abspy/blob/main/environment.yml","dependencies":[{"id":15117561907,"package_name":"abspy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15117561921,"package_name":"embreex","ecosystem":"pypi","requirements":"==2.17.7.post3","direct":true,"kind":"runtime","optional":false},{"id":15117561968,"package_name":"sage-docbuild","ecosystem":"pypi","requirements":"==10.0","direct":true,"kind":"runtime","optional":false},{"id":15117562095,"package_name":"sage-setup","ecosystem":"pypi","requirements":"==10.0","direct":true,"kind":"runtime","optional":false},{"id":15117562116,"package_name":"sagemath-standard","ecosystem":"pypi","requirements":"==10.0","direct":true,"kind":"runtime","optional":false}]}],"score":11.501055292399741,"created_at":"2025-09-04T09:17:30.404Z","updated_at":"2025-10-07T08:04:23.173Z","avatar_url":"https://github.com/chenzhaiyu.png","language":"Python","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":364,"funding_links":[],"readme_doi_urls":["https://doi.org/10.1016/j.isprsjprs.2022.09.017","https://doi.org/10.21105/joss.07946"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/128","html_url":"https://science.ecosyste.ms/projects/128"}