{"id":75797,"name":"continuous-reforestation","description":"Make continuous reforestation part of your daily workflow :deciduous_tree: ","url":"https://github.com/protontypes/continuous-reforestation","last_synced_at":"2025-09-08T16:45:54.741Z","repository":{"id":53739674,"uuid":"340110123","full_name":"protontypes/continuous-reforestation","owner":"protontypes","description":"Make continuous reforestation part of your daily workflow :deciduous_tree: ","archived":false,"fork":false,"pushed_at":"2024-08-08T22:24:55.000Z","size":131,"stargazers_count":188,"open_issues_count":5,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-02T08:43:06.319Z","etag":null,"topics":["carbon-capture","carbon-capture-sequestration","continuous-integration","reforestation","sustainability","sustainable-software"],"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/protontypes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"open-sustainable-technology"}},"created_at":"2021-02-18T16:30:28.000Z","updated_at":"2025-09-01T15:34:54.000Z","dependencies_parsed_at":"2024-08-15T08:19:15.427Z","dependency_job_id":null,"html_url":"https://github.com/protontypes/continuous-reforestation","commit_stats":{"total_commits":113,"total_committers":6,"mean_commits":"18.833333333333332","dds":"0.36283185840707965","last_synced_commit":"970d248e5f07f0d5a56477e3756676c6cf30fe02"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/protontypes/continuous-reforestation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protontypes","download_url":"https://codeload.github.com/protontypes/continuous-reforestation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/sbom","scorecard":{"id":747325,"data":{"date":"2025-08-11","repo":{"name":"github.com/protontypes/continuous-reforestation","commit":"970d248e5f07f0d5a56477e3756676c6cf30fe02"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"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":"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":"Code-Review","score":1,"reason":"Found 2/16 approved changesets -- score normalized to 1","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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/linter.yml:1","Warn: no topLevel permission defined: .github/workflows/pull_request.yml:1","Warn: no topLevel permission defined: .github/workflows/push.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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":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":"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/linter.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/linter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linter.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/linter.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linter.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/linter.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/push.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:10: pin your Docker image by updating gcr.io/distroless/python3-debian10 to gcr.io/distroless/python3-debian10@sha256:b0041237ec3b3009275c1e0698fd7339940f2736d3359874da71bebd0878ed0a","Warn: pipCommand not pinned by hash: Dockerfile:6","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage 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":"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":"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":"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 16 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-22T19:13:19.971Z","repository_id":53739674,"created_at":"2025-08-22T19:13:19.971Z","updated_at":"2025-08-22T19:13:19.971Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274177903,"owners_count":25236030,"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-08T02:00:09.813Z","response_time":121,"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":"protontypes","name":"protontypes","uuid":"55761070","kind":"organization","description":"A Free Community Accelerating Open and Sustainable Technology","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/55761070?v=4","repositories_count":15,"last_synced_at":"2025-09-04T18:38:52.659Z","metadata":{"has_sponsors_listing":false,"funding":{"open_collective":"open-sustainable-technology"}},"html_url":"https://github.com/protontypes","funding_links":["https://opencollective.com/open-sustainable-technology"],"total_stars":2875,"followers":164,"following":0,"created_at":"2022-11-14T05:19:52.827Z","updated_at":"2025-09-04T18:38:52.659Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protontypes","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protontypes/repositories"},"packages":[{"id":5806027,"name":"protontypes/continuous-reforestation","ecosystem":"actions","description":"Plant trees within your development workflow with digitalhumani.com","homepage":"","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/protontypes/continuous-reforestation","keywords_array":["carbon-capture","carbon-capture-sequestration","continuous-integration","reforestation","sustainability","sustainable-software"],"namespace":"protontypes","versions_count":3,"first_release_published_at":"2021-02-27T09:40:46.000Z","latest_release_published_at":"2021-03-21T12:27:35.000Z","latest_release_number":"0.0.3","last_synced_at":"2025-09-02T08:47:01.513Z","created_at":"2023-01-04T15:52:39.931Z","updated_at":"2025-09-02T10:13:23.019Z","registry_url":"https://github.com/protontypes/continuous-reforestation","install_command":null,"documentation_url":null,"metadata":{"name":"continuous-reforestation","description":"Plant trees within your development workflow with digitalhumani.com","author":"protontypes","branding":{"icon":"award","color":"green"},"inputs":{"apikey":{"description":"The API key obtained from digitalhumani.com"},"enterpriseid":{"description":"Id of your enterprise. Example of an enterprise id: 11111111 (Enterprise Ids are 8 digits long)","required":true},"user":{"decription":"End user by whom the trees were planted","default":"${{ github.actor }}"},"projectid":{"description":"Id of the reforestation project for where you want the trees to be planted. Example of an id: 93333333 (Project Ids are 8 digits long)","required":true},"treeCount":{"description":"Number of trees requested to plant. Example: 1","default":1},"production":{"decription":"Use sandbox or production API","default":"false"}},"outputs":{"response":{"description":"JSON response of the RaaS API"},"plantedTrees":{"description":"Number of trees planted by the enterprise."}},"runs":{"using":"docker","image":"Dockerfile"},"default_branch":"main","path":null},"repo_metadata":{"id":53739674,"uuid":"340110123","full_name":"protontypes/continuous-reforestation","owner":"protontypes","description":"Make continuous reforestation part of your daily workflow :deciduous_tree: ","archived":false,"fork":false,"pushed_at":"2024-08-08T22:24:55.000Z","size":131,"stargazers_count":187,"open_issues_count":5,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-26T05:01:56.375Z","etag":null,"topics":["carbon-capture","carbon-capture-sequestration","continuous-integration","reforestation","sustainability","sustainable-software"],"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/protontypes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"open-sustainable-technology"}},"created_at":"2021-02-18T16:30:28.000Z","updated_at":"2025-05-17T01:39:38.000Z","dependencies_parsed_at":"2024-08-15T08:19:15.427Z","dependency_job_id":null,"html_url":"https://github.com/protontypes/continuous-reforestation","commit_stats":{"total_commits":113,"total_committers":6,"mean_commits":"18.833333333333332","dds":"0.36283185840707965","last_synced_commit":"970d248e5f07f0d5a56477e3756676c6cf30fe02"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/protontypes/continuous-reforestation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protontypes","download_url":"https://codeload.github.com/protontypes/continuous-reforestation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/sbom","scorecard":{"id":747325,"data":{"date":"2025-08-11","repo":{"name":"github.com/protontypes/continuous-reforestation","commit":"970d248e5f07f0d5a56477e3756676c6cf30fe02"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.5,"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":"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":"Code-Review","score":1,"reason":"Found 2/16 approved changesets -- score normalized to 1","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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/linter.yml:1","Warn: no topLevel permission defined: .github/workflows/pull_request.yml:1","Warn: no topLevel permission defined: .github/workflows/push.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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":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":"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/linter.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/linter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linter.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/linter.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linter.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/linter.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull_request.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/pull_request.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/protontypes/continuous-reforestation/push.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:10: pin your Docker image by updating gcr.io/distroless/python3-debian10 to gcr.io/distroless/python3-debian10@sha256:b0041237ec3b3009275c1e0698fd7339940f2736d3359874da71bebd0878ed0a","Warn: pipCommand not pinned by hash: Dockerfile:6","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage 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":"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":"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":"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 16 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-22T19:13:19.971Z","repository_id":53739674,"created_at":"2025-08-22T19:13:19.971Z","updated_at":"2025-08-22T19:13:19.971Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273256728,"owners_count":25073525,"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-02T02:00:09.530Z","response_time":77,"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":"protontypes","name":"protontypes","uuid":"55761070","kind":"organization","description":"A Free Community Accelerating Open and Sustainable Technology","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/55761070?v=4","repositories_count":15,"last_synced_at":"2025-08-27T07:38:27.095Z","metadata":{"has_sponsors_listing":false,"funding":{"open_collective":"open-sustainable-technology"}},"html_url":"https://github.com/protontypes","funding_links":["https://opencollective.com/open-sustainable-technology"],"total_stars":2869,"followers":164,"following":0,"created_at":"2022-11-14T05:19:52.827Z","updated_at":"2025-08-27T07:38:27.095Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protontypes","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protontypes/repositories"},"tags":[{"name":"0.0.3","sha":"923d89dd064aa2f02c4385383ee6048253952d62","kind":"commit","published_at":"2021-03-21T12:27:35.000Z","download_url":"https://codeload.github.com/protontypes/continuous-reforestation/tar.gz/0.0.3","html_url":"https://github.com/protontypes/continuous-reforestation/releases/tag/0.0.3","dependencies_parsed_at":"2023-05-30T23:27:36.999Z","dependency_job_id":null,"purl":"pkg:github/protontypes/continuous-reforestation@0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags/0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags/0.0.3/manifests"},{"name":"0.0.2","sha":"86ef9c030d5da2ca1eee1aed9e6512ae7fc60840","kind":"commit","published_at":"2021-03-06T09:21:26.000Z","download_url":"https://codeload.github.com/protontypes/continuous-reforestation/tar.gz/0.0.2","html_url":"https://github.com/protontypes/continuous-reforestation/releases/tag/0.0.2","dependencies_parsed_at":"2023-05-30T23:27:38.003Z","dependency_job_id":null,"purl":"pkg:github/protontypes/continuous-reforestation@0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags/0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags/0.0.2/manifests"},{"name":"0.0.1","sha":"9962de6f7b768d271ca9bdf4d9912490e42decb9","kind":"commit","published_at":"2021-02-27T09:40:46.000Z","download_url":"https://codeload.github.com/protontypes/continuous-reforestation/tar.gz/0.0.1","html_url":"https://github.com/protontypes/continuous-reforestation/releases/tag/0.0.1","dependencies_parsed_at":"2023-05-30T23:27:38.858Z","dependency_job_id":null,"purl":"pkg:github/protontypes/continuous-reforestation@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2025-09-02T10:13:23.018Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":11,"rankings":{"downloads":null,"dependent_repos_count":11.801616225637774,"dependent_packages_count":0.0,"stargazers_count":1.229599112660434,"forks_count":12.926636032324513,"docker_downloads_count":null,"average":6.48946284265568},"purl":"pkg:githubactions/protontypes/continuous-reforestation","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/protontypes/continuous-reforestation","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/actions/protontypes/continuous-reforestation","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/protontypes/continuous-reforestation/dependencies","status":null,"funding_links":["https://opencollective.com/open-sustainable-technology"],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T08:04:16.028Z","issues_count":6,"pull_requests_count":5,"avg_time_to_close_issue":12523.0,"avg_time_to_close_pull_request":54397.0,"issues_closed_count":1,"pull_requests_closed_count":5,"pull_request_authors_count":3,"issue_authors_count":3,"avg_comments_per_issue":1.8333333333333333,"avg_comments_per_pull_request":0.6,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":125543.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":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/issues","maintainers":[{"login":"Ly0n","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ly0n"},{"login":"tjarkdoering","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tjarkdoering"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/protontypes%2Fcontinuous-reforestation/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/protontypes%2Fcontinuous-reforestation/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/protontypes%2Fcontinuous-reforestation/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/protontypes%2Fcontinuous-reforestation/related_packages","maintainers":[],"registry":{"name":"github actions","url":"https://github.com/marketplace/actions/","ecosystem":"actions","default":true,"packages_count":32192,"maintainers_count":0,"namespaces_count":20211,"keywords_count":6167,"github":"actions","metadata":{"funded_packages_count":2687},"icon_url":"https://github.com/actions.png","created_at":"2023-01-03T17:16:39.185Z","updated_at":"2025-09-08T05:02:05.918Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/namespaces"}}],"commits":{"id":476928,"full_name":"protontypes/continuous-reforestation","default_branch":"main","committers":[{"name":"Tobias Augspurger","email":"tobias.augspurger@protontypes.eu","login":null,"count":50},{"name":"Tjark Döring","email":"github@tjark-doering.de","login":null,"count":33},{"name":"Tobias Augspurger","email":"ly0@protonmail.com","login":null,"count":22},{"name":"Jacob Tomlinson","email":"jtomlinson@nvidia.com","login":null,"count":3},{"name":"Tjark","email":"tjark@ursa.fritz.box","login":null,"count":2},{"name":"Daniel Silk","email":"dwsilk@gmail.com","login":null,"count":1},{"name":"Jacob Tomlinson","email":"jacobtomlinson@users.noreply.github.com","login":null,"count":1},{"name":"cjscheller","email":"10751237+cjscheller@users.noreply.github.com","login":null,"count":1}],"total_commits":113,"total_committers":8,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":14.125,"dds":0.5575221238938053,"past_year_committers":[],"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-09-08T11:35:43.092Z","last_synced_commit":"970d248e5f07f0d5a56477e3756676c6cf30fe02","created_at":"2023-03-09T01:12:39.979Z","updated_at":"2025-09-08T11:35:41.071Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5484592,"commits_count":854642861,"contributors_count":31161053,"owners_count":909665,"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":"protontypes/continuous-reforestation","html_url":"https://github.com/protontypes/continuous-reforestation","last_synced_at":"2025-09-01T08:04:16.028Z","status":"error","issues_count":6,"pull_requests_count":5,"avg_time_to_close_issue":12523.0,"avg_time_to_close_pull_request":54397.0,"issues_closed_count":1,"pull_requests_closed_count":5,"pull_request_authors_count":3,"issue_authors_count":3,"avg_comments_per_issue":1.8333333333333333,"avg_comments_per_pull_request":0.6,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":125543.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":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":1.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-09T10:36:15.508Z","updated_at":"2025-09-02T02:19:41.876Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/protontypes%2Fcontinuous-reforestation/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"MEMBER":5,"NONE":1},"pull_request_author_associations_count":{"MEMBER":2,"NONE":2,"CONTRIBUTOR":1},"issue_authors":{"Ly0n":4,"tjarkdoering":1,"maltfield":1},"pull_request_authors":{"myHerbDev":2,"tjarkdoering":2,"cjscheller":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.986Z","repositories_count":10007873,"issues_count":30095217,"pull_requests_count":88653316,"authors_count":10095420,"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":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"Ly0n","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Ly0n"},{"login":"tjarkdoering","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tjarkdoering"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":6,"IssueCommentEvent":1,"ForkEvent":1},"last_year":{"WatchEvent":6,"IssueCommentEvent":1,"ForkEvent":1}},"keywords":["carbon-capture","carbon-capture-sequestration","continuous-integration","reforestation","sustainability","sustainable-software"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/linter.yml","sha":null,"kind":"manifest","created_at":"2023-01-04T10:57:49.492Z","updated_at":"2023-01-04T10:57:49.492Z","repository_link":"https://github.com/protontypes/continuous-reforestation/blob/main/.github/workflows/linter.yml","dependencies":[{"id":6861916675,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6861916676,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6861916677,"package_name":"psf/black","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pull_request.yml","sha":null,"kind":"manifest","created_at":"2023-01-04T10:57:49.501Z","updated_at":"2023-01-04T10:57:49.501Z","repository_link":"https://github.com/protontypes/continuous-reforestation/blob/main/.github/workflows/pull_request.yml","dependencies":[{"id":6861916678,"package_name":"protontypes/continuous-reforestation","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/push.yml","sha":null,"kind":"manifest","created_at":"2023-01-04T10:57:49.513Z","updated_at":"2023-01-04T10:57:49.513Z","repository_link":"https://github.com/protontypes/continuous-reforestation/blob/main/.github/workflows/push.yml","dependencies":[{"id":6861916714,"package_name":"protontypes/continuous-reforestation","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":"action.yml","sha":null,"kind":"manifest","created_at":"2023-01-04T10:57:49.521Z","updated_at":"2023-01-04T10:57:49.521Z","repository_link":"https://github.com/protontypes/continuous-reforestation/blob/main/action.yml","dependencies":[{"id":6861916715,"package_name":"Dockerfile","ecosystem":"actions","requirements":"*","direct":true,"kind":"docker","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-04T10:57:49.532Z","updated_at":"2023-01-04T10:57:49.532Z","repository_link":"https://github.com/protontypes/continuous-reforestation/blob/main/Dockerfile","dependencies":[{"id":6861916716,"package_name":"python","ecosystem":"docker","requirements":"3-slim","direct":true,"kind":"build","optional":false},{"id":6861916717,"package_name":"gcr.io/distroless/python3-debian10","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]}],"score":9.740027003383092,"created_at":"2025-09-08T15:39:11.813Z","updated_at":"2025-10-07T08:27:20.567Z","avatar_url":"https://github.com/protontypes.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":["https://opencollective.com/open-sustainable-technology"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["climate","climate-change","climate-science","renewable-energy","sustainable-development-goals"],"project_url":"https://science.ecosyste.ms/api/v1/projects/75797","html_url":"https://science.ecosyste.ms/projects/75797"}