{"id":794,"name":"pyhector","description":"A Python interface for the simple global climate carbon-cycle model Hector.","url":"https://github.com/openclimatedata/pyhector","last_synced_at":"2026-04-12T01:02:07.299Z","repository":{"id":45047468,"uuid":"79934283","full_name":"openclimatedata/pyhector","owner":"openclimatedata","description":"Python interface for the simple global climate carbon-cycle model Hector","archived":false,"fork":false,"pushed_at":"2024-03-06T14:34:24.000Z","size":16963,"stargazers_count":45,"open_issues_count":4,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-03-28T18:23:54.310Z","etag":null,"topics":["climate-model","hector-model","python-wrapper"],"latest_commit_sha":null,"homepage":"http://pyhector.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openclimatedata.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","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":".zenodo.json"}},"created_at":"2017-01-24T17:14:54.000Z","updated_at":"2026-01-14T18:01:00.000Z","dependencies_parsed_at":"2024-03-17T06:59:04.837Z","dependency_job_id":null,"html_url":"https://github.com/openclimatedata/pyhector","commit_stats":{"total_commits":508,"total_committers":3,"mean_commits":"169.33333333333334","dds":0.5433070866141732,"last_synced_commit":"5e44ce0b8e6d1cdc11a7ac1183d832b02d8c4a48"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/openclimatedata/pyhector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/sbom","scorecard":{"id":709004,"data":{"date":"2025-08-11","repo":{"name":"github.com/openclimatedata/pyhector","commit":"5e44ce0b8e6d1cdc11a7ac1183d832b02d8c4a48"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"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":"Code-Review","score":1,"reason":"Found 1/6 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":-1,"reason":"No tokens found","details":null,"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":"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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: 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":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":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2018-18 / GHSA-3p4q-x8f3-p7vq","Warn: Project is vulnerable to: GHSA-4952-p58q-6crx","Warn: Project is vulnerable to: PYSEC-2018-17 / GHSA-49qr-xh3w-h436","Warn: Project is vulnerable to: PYSEC-2018-57 / GHSA-6cwv-x26c-w2q4","Warn: Project is vulnerable to: PYSEC-2020-215 / GHSA-c7vm-f5p4-8fqh","Warn: Project is vulnerable to: PYSEC-2019-159 / GHSA-hhx8-cr55-qcxx","Warn: Project is vulnerable to: GHSA-hwvq-6gjx-j797","Warn: Project is vulnerable to: PYSEC-2019-157 / GHSA-jqwc-jm56-wcwj","Warn: Project is vulnerable to: PYSEC-2022-180 / GHSA-m87f-39q9-6f55","Warn: Project is vulnerable to: PYSEC-2019-158 / GHSA-rcx2-m7jp-p9wj","Warn: Project is vulnerable to: GHSA-rv62-4pmj-xw6h","Warn: Project is vulnerable to: PYSEC-2022-212 / GHSA-v7vq-3x77-87vg","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6"],"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 25 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"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating jupyter/scipy-notebook:2022-01-12 to jupyter/scipy-notebook:2022-01-12@sha256:7a79c20d81c5194157a2b92891f45fd8a053430b6e999f6cc63b43cac28c571a","Warn: pipCommand not pinned by hash: Dockerfile:11","Warn: pipCommand not pinned by hash: Dockerfile:12","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   2 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"}}]},"last_synced_at":"2025-08-22T07:35:54.540Z","repository_id":45047468,"created_at":"2025-08-22T07:35:54.540Z","updated_at":"2025-08-22T07:35:54.540Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"openclimatedata","name":"Open Climate Data","uuid":"20420557","kind":"organization","description":"","email":null,"website":"https://openclimatedata.net","location":"Potsdam, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/20420557?v=4","repositories_count":11,"last_synced_at":"2023-03-01T16:55:25.611Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/openclimatedata","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T13:31:42.810Z","updated_at":"2023-03-01T16:55:25.863Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata/repositories"},"packages":[{"id":2873152,"name":"pyhector","ecosystem":"pypi","description":"Python wrapper for the Hector simple climate model","homepage":"https://github.com/openclimatedata/pyhector","licenses":"GNU Affero General Public License v3","normalized_licenses":["AGPL-3.0"],"repository_url":"https://github.com/openclimatedata/pyhector","keywords_array":["climate","model","climate","change"],"namespace":null,"versions_count":22,"first_release_published_at":"2017-02-02T10:56:52.000Z","latest_release_published_at":"2018-03-19T19:42:23.000Z","latest_release_number":"2.0.1","last_synced_at":"2026-03-30T19:00:51.760Z","created_at":"2022-04-10T12:13:39.692Z","updated_at":"2026-03-30T19:00:51.760Z","registry_url":"https://pypi.org/project/pyhector/","install_command":"pip install pyhector --index-url https://pypi.org/simple","documentation_url":"https://pyhector.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 4 - Beta","Intended Audience :: Developers","Operating System :: OS Independent","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9"],"normalized_name":"pyhector","project_status":null},"repo_metadata":{"uuid":"79934283","full_name":"openclimatedata/pyhector","owner":"openclimatedata","description":"Python interface for the simple global climate carbon-cycle model Hector","archived":false,"fork":false,"pushed_at":"2024-03-06T14:34:24.000Z","size":16963,"stargazers_count":40,"open_issues_count":4,"forks_count":10,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-15T21:00:56.662Z","etag":null,"topics":["climate-model","hector-model","python-wrapper"],"latest_commit_sha":null,"homepage":"http://pyhector.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openclimatedata.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","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}},"created_at":"2017-01-24T17:14:54.000Z","updated_at":"2024-01-21T17:56:41.000Z","dependencies_parsed_at":"2024-03-17T06:59:04.837Z","dependency_job_id":null,"html_url":"https://github.com/openclimatedata/pyhector","commit_stats":{"total_commits":508,"total_committers":3,"mean_commits":"169.33333333333334","dds":0.5433070866141732,"last_synced_commit":"5e44ce0b8e6d1cdc11a7ac1183d832b02d8c4a48"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":196689187,"owners_count":13253695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"openclimatedata","name":"Open Climate Data","uuid":"20420557","kind":"organization","description":"","email":null,"website":"https://openclimatedata.net","location":"Potsdam, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/20420557?v=4","repositories_count":11,"last_synced_at":"2023-03-01T16:55:25.611Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/openclimatedata","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T13:31:42.810Z","updated_at":"2023-03-01T16:55:25.863Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata/repositories"},"tags":[{"name":"v3.2.0.0","sha":"d999108283f3576d1694c97a67dcd8f91c5e829f","kind":"commit","published_at":"2024-03-06T10:15:05.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v3.2.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v3.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v3.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v3.2.0.0/manifests"},{"name":"v2.5.0.2","sha":"576b4c493de80b4ad1470876a55e8a4ea2d37cad","kind":"commit","published_at":"2023-06-19T09:50:00.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.5.0.2","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.5.0.2/manifests"},{"name":"v2.4.0.1","sha":"4fab735609b7524d1fac4c84a33010535d725fa0","kind":"commit","published_at":"2022-01-12T17:32:06.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.4.0.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.1/manifests"},{"name":"v2.4.0.0","sha":"0831c31bcd63a9aa582c350ce6e4b416ffb2c9f5","kind":"commit","published_at":"2019-08-06T14:34:02.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.4.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.0/manifests"},{"name":"v2.3.1.0","sha":"350f25aa513d6bf86c33d4e92a419adcbb107d55","kind":"commit","published_at":"2019-08-05T09:32:33.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.3.1.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.1.0/manifests"},{"name":"v2.3.0.0","sha":"8231d487797497c618b97421ed61fd7d8679e135","kind":"commit","published_at":"2019-05-22T13:18:52.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.3.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.0.0/manifests"},{"name":"v2.2.2.0","sha":"0b20b6ab6031b43df245b0f5e05238fea7d1c4f0","kind":"commit","published_at":"2019-05-06T15:34:20.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.2.2.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.2.0/manifests"},{"name":"v2.2.0.1","sha":"c5d669608c324800c4f37dd30f32f5b6348c6733","kind":"commit","published_at":"2019-04-03T12:46:31.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.2.0.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.1/manifests"},{"name":"v2.2.0.0","sha":"2b5f9cb529ed48c6e077a0f7a241e873d386ef62","kind":"commit","published_at":"2019-04-02T13:53:02.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.2.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.0/manifests"},{"name":"v2.1.0.0","sha":"e1f01d931d518df944e1ec6784b68a7e6f0dd78c","kind":"commit","published_at":"2019-03-02T18:55:47.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.1.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0.0/manifests"},{"name":"v2.1.0a","sha":"31050fbb436b76c1f08b215b8f1f741a646e6e8d","kind":"tag","published_at":"2019-02-27T09:36:31.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.1.0a","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.1.0a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0a/manifests"},{"name":"v2.1.3","sha":"1ce8b58992a54ac0e11c86992fff101d055e0095","kind":"commit","published_at":"2018-09-20T08:20:18.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.1.3","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.3/manifests"},{"name":"v2.0.1","sha":"b96969adc2bbc9ca24f8e8603bfe338166fb7e4a","kind":"commit","published_at":"2018-03-19T19:21:14.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.0.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"9d051e741f52a8999f0df1fc6fcbae487f27a608","kind":"commit","published_at":"2018-03-08T18:10:13.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.0/manifests"},{"name":"v0.9.0","sha":"8305c6fb4f96e87572bf3d19716bf63616b6936b","kind":"commit","published_at":"2018-01-22T08:47:00.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.9.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.9.0/manifests"},{"name":"v0.8.1","sha":"6ac3f15fe5441ecbf31bc89081fb95c80046f86f","kind":"commit","published_at":"2017-12-30T19:48:04.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.8.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.8.1/manifests"},{"name":"v0.7.0","sha":"55b42c5afd20016b966994cbff3ee7cd0c38d2db","kind":"commit","published_at":"2017-04-26T14:21:46.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.7.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"7bbd97d7504ee73aa620d3e8bb5d74dd524b5cdc","kind":"commit","published_at":"2017-04-24T09:26:15.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.6.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.6.0/manifests"},{"name":"v0.5.2","sha":"657f346dc6ea807e9707ad681cd3b6dc83c6fb8b","kind":"commit","published_at":"2017-04-10T12:45:16.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.5.2","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.5.2/manifests"},{"name":"v0.4.0","sha":"bad58ae8973011e91c59ea7880291f8d2af1b71f","kind":"commit","published_at":"2017-02-24T13:18:49.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.4.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"68a9f6729053a9728e3e4a6aebabf4b242864786","kind":"commit","published_at":"2017-02-09T14:01:15.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.3.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.3.0/manifests"},{"name":"v0.2.4","sha":"dc68fe4e32a64e51f295bced633893fef16d642a","kind":"commit","published_at":"2017-02-02T11:05:34.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.2.4","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.2.4/manifests"}]},"repo_metadata_updated_at":"2024-09-07T20:54:44.752Z","dependent_packages_count":0,"downloads":69,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":25.886777529356948,"dependent_repos_count":22.087784936889527,"dependent_packages_count":7.31012528119255,"stargazers_count":10.451065995810412,"forks_count":11.463403173956795,"docker_downloads_count":2.6781135369811424,"average":13.312878409031228},"purl":"pkg:pypi/pyhector","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pyhector","docker_dependents_count":1,"docker_downloads_count":70,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pyhector","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pyhector/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-07T20:00:34.020Z","issues_count":40,"pull_requests_count":24,"avg_time_to_close_issue":6296013.081081081,"avg_time_to_close_pull_request":3143818.347826087,"issues_closed_count":37,"pull_requests_closed_count":23,"pull_request_authors_count":3,"issue_authors_count":5,"avg_comments_per_issue":1.825,"avg_comments_per_pull_request":1.2083333333333333,"merged_pull_requests_count":22,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/issues","maintainers":[{"login":"rgieseke","count":54,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rgieseke"},{"login":"swillner","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/swillner"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyhector/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyhector/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyhector/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyhector/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyhector/codemeta","maintainers":[{"uuid":"rgieseke","login":"rgieseke","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/rgieseke/","role":null,"created_at":"2023-02-25T03:58:47.668Z","updated_at":"2023-02-25T03:58:47.668Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/rgieseke/packages"},{"uuid":"openclimatedata","login":"openclimatedata","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/openclimatedata/","role":null,"created_at":"2023-02-25T03:58:47.659Z","updated_at":"2023-02-25T03:58:47.659Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/openclimatedata/packages"},{"uuid":"swillner","login":"swillner","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/swillner/","role":null,"created_at":"2023-02-25T03:58:47.686Z","updated_at":"2023-02-25T03:58:47.686Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/swillner/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":834915,"maintainers_count":356510,"namespaces_count":0,"keywords_count":270194,"github":"pypi","metadata":{"funded_packages_count":53084},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-05T05:05:39.368Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":11733376,"name":"github.com/openclimatedata/pyhector","ecosystem":"go","description":null,"homepage":null,"licenses":"agpl-3.0","normalized_licenses":["AGPL-3.0"],"repository_url":"https://github.com/openclimatedata/pyhector","keywords_array":[],"namespace":null,"versions_count":11,"first_release_published_at":"2017-02-02T11:05:34.000Z","latest_release_published_at":"2018-09-20T08:20:18.000Z","latest_release_number":"v2.1.3+incompatible","last_synced_at":"2026-03-30T19:00:53.179Z","created_at":"2025-06-05T11:15:41.977Z","updated_at":"2026-03-30T19:00:53.180Z","registry_url":"https://pkg.go.dev/github.com/openclimatedata/pyhector","install_command":"go get github.com/openclimatedata/pyhector","documentation_url":"https://pkg.go.dev/github.com/openclimatedata/pyhector#section-documentation","metadata":{},"repo_metadata":{"id":45047468,"uuid":"79934283","full_name":"openclimatedata/pyhector","owner":"openclimatedata","description":"Python interface for the simple global climate carbon-cycle model Hector","archived":false,"fork":false,"pushed_at":"2024-03-06T14:34:24.000Z","size":16963,"stargazers_count":44,"open_issues_count":4,"forks_count":10,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-22T08:24:02.891Z","etag":null,"topics":["climate-model","hector-model","python-wrapper"],"latest_commit_sha":null,"homepage":"http://pyhector.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openclimatedata.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","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":".zenodo.json"}},"created_at":"2017-01-24T17:14:54.000Z","updated_at":"2025-06-01T09:17:58.000Z","dependencies_parsed_at":"2024-03-17T06:59:04.837Z","dependency_job_id":null,"html_url":"https://github.com/openclimatedata/pyhector","commit_stats":{"total_commits":508,"total_committers":3,"mean_commits":"169.33333333333334","dds":0.5433070866141732,"last_synced_commit":"5e44ce0b8e6d1cdc11a7ac1183d832b02d8c4a48"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/openclimatedata/pyhector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/sbom","scorecard":{"id":709004,"data":{"date":"2025-08-11","repo":{"name":"github.com/openclimatedata/pyhector","commit":"5e44ce0b8e6d1cdc11a7ac1183d832b02d8c4a48"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"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":"Code-Review","score":1,"reason":"Found 1/6 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":-1,"reason":"No tokens found","details":null,"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":"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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: 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":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":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2018-18 / GHSA-3p4q-x8f3-p7vq","Warn: Project is vulnerable to: GHSA-4952-p58q-6crx","Warn: Project is vulnerable to: PYSEC-2018-17 / GHSA-49qr-xh3w-h436","Warn: Project is vulnerable to: PYSEC-2018-57 / GHSA-6cwv-x26c-w2q4","Warn: Project is vulnerable to: PYSEC-2020-215 / GHSA-c7vm-f5p4-8fqh","Warn: Project is vulnerable to: PYSEC-2019-159 / GHSA-hhx8-cr55-qcxx","Warn: Project is vulnerable to: GHSA-hwvq-6gjx-j797","Warn: Project is vulnerable to: PYSEC-2019-157 / GHSA-jqwc-jm56-wcwj","Warn: Project is vulnerable to: PYSEC-2022-180 / GHSA-m87f-39q9-6f55","Warn: Project is vulnerable to: PYSEC-2019-158 / GHSA-rcx2-m7jp-p9wj","Warn: Project is vulnerable to: GHSA-rv62-4pmj-xw6h","Warn: Project is vulnerable to: PYSEC-2022-212 / GHSA-v7vq-3x77-87vg","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6"],"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 25 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"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating jupyter/scipy-notebook:2022-01-12 to jupyter/scipy-notebook:2022-01-12@sha256:7a79c20d81c5194157a2b92891f45fd8a053430b6e999f6cc63b43cac28c571a","Warn: pipCommand not pinned by hash: Dockerfile:11","Warn: pipCommand not pinned by hash: Dockerfile:12","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   2 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"}}]},"last_synced_at":"2025-08-22T07:35:54.540Z","repository_id":45047468,"created_at":"2025-08-22T07:35:54.540Z","updated_at":"2025-08-22T07:35:54.540Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277136136,"owners_count":25767069,"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-26T02:00:09.010Z","response_time":78,"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":"openclimatedata","name":"Open Climate Data","uuid":"20420557","kind":"organization","description":"","email":null,"website":"https://openclimatedata.net","location":"Potsdam, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/20420557?v=4","repositories_count":11,"last_synced_at":"2023-03-01T16:55:25.611Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/openclimatedata","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T13:31:42.810Z","updated_at":"2023-03-01T16:55:25.863Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatedata/repositories"},"tags":[{"name":"v3.2.0.0","sha":"d999108283f3576d1694c97a67dcd8f91c5e829f","kind":"commit","published_at":"2024-03-06T10:15:05.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v3.2.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v3.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v3.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v3.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v3.2.0.0/manifests"},{"name":"v2.5.0.2","sha":"576b4c493de80b4ad1470876a55e8a4ea2d37cad","kind":"commit","published_at":"2023-06-19T09:50:00.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.5.0.2","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.5.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.5.0.2/manifests"},{"name":"v2.4.0.1","sha":"4fab735609b7524d1fac4c84a33010535d725fa0","kind":"commit","published_at":"2022-01-12T17:32:06.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.4.0.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.1/manifests"},{"name":"v2.4.0.0","sha":"0831c31bcd63a9aa582c350ce6e4b416ffb2c9f5","kind":"commit","published_at":"2019-08-06T14:34:02.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.4.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.4.0.0/manifests"},{"name":"v2.3.1.0","sha":"350f25aa513d6bf86c33d4e92a419adcbb107d55","kind":"commit","published_at":"2019-08-05T09:32:33.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.3.1.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.1.0/manifests"},{"name":"v2.3.0.0","sha":"8231d487797497c618b97421ed61fd7d8679e135","kind":"commit","published_at":"2019-05-22T13:18:52.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.3.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.3.0.0/manifests"},{"name":"v2.2.2.0","sha":"0b20b6ab6031b43df245b0f5e05238fea7d1c4f0","kind":"commit","published_at":"2019-05-06T15:34:20.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.2.2.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.2.0/manifests"},{"name":"v2.2.0.1","sha":"c5d669608c324800c4f37dd30f32f5b6348c6733","kind":"commit","published_at":"2019-04-03T12:46:31.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.2.0.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.1/manifests"},{"name":"v2.2.0.0","sha":"2b5f9cb529ed48c6e077a0f7a241e873d386ef62","kind":"commit","published_at":"2019-04-02T13:53:02.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.2.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.2.0.0/manifests"},{"name":"v2.1.0.0","sha":"e1f01d931d518df944e1ec6784b68a7e6f0dd78c","kind":"commit","published_at":"2019-03-02T18:55:47.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.1.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0.0/manifests"},{"name":"v2.1.0a","sha":"31050fbb436b76c1f08b215b8f1f741a646e6e8d","kind":"tag","published_at":"2019-02-27T09:36:31.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.1.0a","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.1.0a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.1.0a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.0a/manifests"},{"name":"v2.1.3","sha":"1ce8b58992a54ac0e11c86992fff101d055e0095","kind":"commit","published_at":"2018-09-20T08:20:18.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.1.3","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.1.3/manifests"},{"name":"v2.0.1","sha":"b96969adc2bbc9ca24f8e8603bfe338166fb7e4a","kind":"commit","published_at":"2018-03-19T19:21:14.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.0.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"9d051e741f52a8999f0df1fc6fcbae487f27a608","kind":"commit","published_at":"2018-03-08T18:10:13.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v2.0.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v2.0.0/manifests"},{"name":"v0.9.0","sha":"8305c6fb4f96e87572bf3d19716bf63616b6936b","kind":"commit","published_at":"2018-01-22T08:47:00.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.9.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.9.0/manifests"},{"name":"v0.8.1","sha":"6ac3f15fe5441ecbf31bc89081fb95c80046f86f","kind":"commit","published_at":"2017-12-30T19:48:04.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.8.1","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.8.1/manifests"},{"name":"v0.7.0","sha":"55b42c5afd20016b966994cbff3ee7cd0c38d2db","kind":"commit","published_at":"2017-04-26T14:21:46.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.7.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"7bbd97d7504ee73aa620d3e8bb5d74dd524b5cdc","kind":"commit","published_at":"2017-04-24T09:26:15.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.6.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.6.0/manifests"},{"name":"v0.5.2","sha":"657f346dc6ea807e9707ad681cd3b6dc83c6fb8b","kind":"commit","published_at":"2017-04-10T12:45:16.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.5.2","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.5.2/manifests"},{"name":"v0.4.0","sha":"bad58ae8973011e91c59ea7880291f8d2af1b71f","kind":"commit","published_at":"2017-02-24T13:18:49.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.4.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"68a9f6729053a9728e3e4a6aebabf4b242864786","kind":"commit","published_at":"2017-02-09T14:01:15.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.3.0","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.3.0/manifests"},{"name":"v0.2.4","sha":"dc68fe4e32a64e51f295bced633893fef16d642a","kind":"commit","published_at":"2017-02-02T11:05:34.000Z","download_url":"https://codeload.github.com/openclimatedata/pyhector/tar.gz/v0.2.4","html_url":"https://github.com/openclimatedata/pyhector/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/openclimatedata/pyhector@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/tags/v0.2.4/manifests"}]},"repo_metadata_updated_at":"2025-10-06T17:53:18.458Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/openclimatedata/pyhector","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/openclimatedata/pyhector","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/openclimatedata/pyhector","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/openclimatedata/pyhector/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T21:39:48.001Z","issues_count":40,"pull_requests_count":24,"avg_time_to_close_issue":6296013.081081081,"avg_time_to_close_pull_request":3143818.347826087,"issues_closed_count":37,"pull_requests_closed_count":23,"pull_request_authors_count":3,"issue_authors_count":5,"avg_comments_per_issue":1.825,"avg_comments_per_pull_request":1.2083333333333333,"merged_pull_requests_count":22,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/issues","maintainers":[{"login":"rgieseke","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rgieseke"},{"login":"swillner","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/swillner"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fopenclimatedata%2Fpyhector/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fopenclimatedata%2Fpyhector/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fopenclimatedata%2Fpyhector/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fopenclimatedata%2Fpyhector/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fopenclimatedata%2Fpyhector/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2088247,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":637209,"full_name":"openclimatedata/pyhector","default_branch":"main","total_commits":508,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":254.0,"dds":0.2992125984251969,"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":"2026-04-01T20:01:53.799Z","last_synced_commit":"5e44ce0b8e6d1cdc11a7ac1183d832b02d8c4a48","created_at":"2023-03-09T08:41:08.354Z","updated_at":"2026-04-01T20:01:53.777Z","committers":[{"name":"Robert Gieseke","email":"robert.gieseke@pik-potsdam.de","login":"rgieseke","count":356},{"name":"Sven Willner","email":"sven.willner@gmail.com","login":"swillner","count":152}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-07T00:00:11.408Z","repositories_count":6211731,"commits_count":917753764,"contributors_count":35560078,"owners_count":1142810,"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":"openclimatedata/pyhector","html_url":"https://github.com/openclimatedata/pyhector","last_synced_at":"2026-03-06T07:00:51.742Z","status":"error","issues_count":40,"pull_requests_count":24,"avg_time_to_close_issue":6296013.081081081,"avg_time_to_close_pull_request":3143818.347826087,"issues_closed_count":37,"pull_requests_closed_count":23,"pull_request_authors_count":3,"issue_authors_count":5,"avg_comments_per_issue":1.825,"avg_comments_per_pull_request":1.2083333333333333,"merged_pull_requests_count":22,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:37:09.434Z","updated_at":"2026-03-06T07:00:51.742Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatedata%2Fpyhector/issues","issue_labels_count":{"enhancement":1,"bug":1},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":37,"NONE":3},"pull_request_author_associations_count":{"COLLABORATOR":24,"NONE":1},"issue_authors":{"rgieseke":36,"swillner":1,"jamesmurdza":1,"russellhz":1,"tamara-goyea":1},"pull_request_authors":{"rgieseke":19,"swillner":5,"ckingdon95":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-08T00:00:10.835Z","repositories_count":13624378,"issues_count":34745376,"pull_requests_count":113336940,"authors_count":11187649,"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":"rgieseke","count":55,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rgieseke"},{"login":"swillner","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/swillner"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":1,"WatchEvent":5},"last_year":{"WatchEvent":3}},"keywords":["climate-model","hector-model","python-wrapper"],"dependencies":[{"ecosystem":"pypi","filepath":"dev-requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-23T11:10:39.046Z","updated_at":"2022-09-23T11:10:39.046Z","repository_link":"https://github.com/openclimatedata/pyhector/blob/main/dev-requirements.txt","dependencies":[{"id":5953918213,"package_name":"pybind11","ecosystem":"pypi","requirements":"\u003e=2.2","direct":true,"kind":"development","optional":false},{"id":5953918214,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=4.0","direct":true,"kind":"development","optional":false},{"id":5953918215,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918216,"package_name":"notebook","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918217,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918218,"package_name":"sphinx","ecosystem":"pypi","requirements":"\u003e=1.4","direct":true,"kind":"development","optional":false},{"id":5953918219,"package_name":"sphinx-autobuild","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918220,"package_name":"numpydoc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918221,"package_name":"tabulate","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918222,"package_name":"twine","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918223,"package_name":"wheel","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":5953918224,"package_name":"black","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-23T11:10:39.073Z","updated_at":"2022-09-23T11:10:39.073Z","repository_link":"https://github.com/openclimatedata/pyhector/blob/main/docs/requirements.txt","dependencies":[{"id":5953918232,"package_name":"tabulate","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-09-23T11:10:39.088Z","updated_at":"2022-09-23T11:10:39.088Z","repository_link":"https://github.com/openclimatedata/pyhector/blob/main/setup.py","dependencies":[{"id":5953919692,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-21T19:12:07.712Z","updated_at":"2023-09-21T19:12:07.712Z","repository_link":"https://github.com/openclimatedata/pyhector/blob/main/Dockerfile","dependencies":[{"id":13856547868,"package_name":"jupyter/scipy-notebook","ecosystem":"docker","requirements":"2022-01-12","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2024-03-17T06:59:04.802Z","updated_at":"2024-03-17T06:59:04.802Z","repository_link":"https://github.com/openclimatedata/pyhector/blob/main/pyproject.toml","dependencies":[]}],"score":9.554780778246572,"created_at":"2023-09-11T11:54:35.965Z","updated_at":"2026-04-12T01:02:07.312Z","avatar_url":"https://github.com/openclimatedata.png","language":"Python","category":"Climate Change","sub_category":"Earth and Climate Modeling","monthly_downloads":69,"total_dependent_repos":1,"total_dependent_packages":0,"readme":"pyhector\n========\n\n+----------------+------------------------+\n| |PyPI Version| | |PyPI Python Versions| |\n+----------------+------------------------+\n| |Docs|         | |Launch Binder|        |\n+----------------+------------------------+\n| |JOSS|         | |Zenodo|               |\n+----------------+------------------------+\n\n.. sec-begin-index\n\n**pyhector** is a Python interface for the simple global climate\ncarbon-cycle model `Hector \u003chttps://github.com/JGCRI/hector\u003e`_.\n\n**pyhector** makes the simple climate model Hector easily installable\nand usable from Python and can for example be used in the analysis of\nmitigation scenarios, in integrated assessment models, complex climate\nmodel emulation, and uncertainty analyses.\n\n`Hector \u003chttps://github.com/JGCRI/hector\u003e`_ is written in C++ and\ndeveloped at the `Pacific Northwest National Laboratory\n\u003chttps://www.pnnl.gov/\u003e`_.\n\nSee the Hector `repository \u003chttps://github.com/JGCRI/hector\u003e`_ and\n`documentation website \u003chttps://jgcri.github.io/hector/\u003e`_ for further\ninformation.\n\nThe Python interface **pyhector** is developed by `Sven Willner\n\u003chttp://svenwillner.com\u003e`_ and `Robert Gieseke\n\u003chttps://github.com/rgieseke\u003e`_.\n\nPyhector uses `pybind11 \u003chttps://github.com/pybind/pybind11\u003e`_ to wrap\nHector's API. The version of Hector used can be read using Pyhector's\n``__hector_version__`` field.\n\n.. sec-end-index\n.. sec-begin-installation\n\nInstallation\n------------\n\nPrerequisites\n~~~~~~~~~~~~~\n\n`Hector \u003chttps://github.com/JGCRI/hector\u003e`_ requires `Boost\n\u003chttp://www.boost.org/\u003e`_, so to install and use **pyhector** you need\nto have the filesystem and system modules of *Boost* installed (see also the `Hector build\ninstructions \u003chttps://jgcri.github.io/hector/articles/BuildHector.html#standalone-executable\u003e`_).\n\nOn Ubuntu/Debian these can be installed by invoking\n\n.. code:: bash\n\n    sudo apt-get install libboost-filesystem-dev libboost-system-dev\n\nOn macOS *Boost* is available through the Homebrew package manager, it\nmight be advisable to use a Homebrew installed Python for installing\n**pyhector**:\n\n.. code:: bash\n\n    brew install boost\n\nWindows is (as Hector) in principle supported but not yet tested for\n**pyhector**. Pull request with installation notes for Windows are\nwelcome.\n\nInstall using pip\n~~~~~~~~~~~~~~~~~\n\nYou can install **pyhector** from\n`PyPI \u003chttps://pypi.python.org/pypi/pyhector\u003e`_ by invoking\n\n.. code:: bash\n\n    pip install pyhector\n\n.. sec-end-installation\n.. sec-begin-usage\n\nUsage\n-----\n\nThis repository also contains a `Jupyter Notebook\n\u003chttps://jupyter.readthedocs.io/en/latest/index.html\u003e`_ you can `run\nlive \u003chttp://mybinder.org/repo/openclimatedata/pyhector\u003e`_ and\nexperiment with, courtesy of the `Binder \u003chttp://mybinder.org/\u003e`_\nproject. The notebook can be viewed as a `static version\n\u003chttp://nbviewer.jupyter.org/github/openclimatedata/pyhector/blob/main/index.ipynb\u003e`_\nusing nbviewer.\n\nBasic example\n~~~~~~~~~~~~~\n\n.. code:: python\n\n    import pyhector\n\n    output = pyhector.run(pyhector.ssp126)\n\nAdvanced example\n~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n    import pyhector\n    import matplotlib.pyplot as plt\n    from pyhector import ssp119, ssp126, ssp245, ssp370, ssp434, ssp460, ssp534_over, ssp585\n\n    for ssp in [ssp119, ssp126, ssp245, ssp370, ssp434, ssp460, ssp534_over, ssp585]:\n        output = pyhector.run(ssp, {\"core\": {\"endDate\": 2100}})\n        temp = output[\"temperature.global_tas\"]\n        temp = temp.loc[1850:] - temp.loc[1850:1900].mean()\n        temp.plot(label=ssp.name)\n    plt.title(\"Global mean temperature\")\n    plt.ylabel(\"°C over pre-industrial (1850-1900 mean)\")\n    plt.legend(loc=\"best\")\n    plt.show()\n\n.. image-start\n\n.. image:: ./docs/example-plot.png\n    :alt: Temperature Plot of RCP scenarios\n\n.. image-end\n.. sec-end-usage\n.. sec-begin-development\n\nDevelopment\n-----------\n\nFor local development you can clone the repository, update the\ndependencies and install in a virtual environment with ``pip``.\n\n.. code:: bash\n\n    git clone https://github.com/openclimatedata/pyhector.git --recursive\n    cd pyhector\n    python3 -m venv venv\n    ./venv/bin/pip install --editable --verbose .\n\n\nTo update **pyhector** and all submodules you can run\n\n.. code:: bash\n\n    git pull --recurse-submodules\n    git submodule update --init --recursive\n    ./venv/bin/pip install --editable .\n\nTests can be run locally with\n\n::\n\n    python setup.py test\n\n.. sec-end-development\n\n.. |PyPI Python Versions| image:: https://img.shields.io/pypi/pyversions/pyhector.svg\n   :target: https://pypi.org/project/pyhector/\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/pyhector.svg\n   :target: https://pypi.org/project/pyhector/\n.. |Docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat\n   :target: https://pyhector.readthedocs.io/en/latest/\n.. |Launch Binder| image:: https://img.shields.io/badge/launch-binder-e66581.svg\n   :target: https://mybinder.org/v2/gh/openclimatedata/pyhector/main?filepath=notebooks/index.ipynb\n.. |JOSS| image:: https://img.shields.io/badge/JOSS-10.21105%2Fjoss.00248-brightgreen.svg\n   :target: https://doi.org/10.21105/joss.00248\n.. |Zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1194599.svg\n   :target: https://zenodo.org/record/1194599\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.00248"],"works":{"https://doi.org/10.5194/gmd-8-939-2015":{"id":"https://openalex.org/W2087527604","doi":"https://doi.org/10.5194/gmd-8-939-2015","title":"A simple object-oriented and open-source model for scientific and policy analyses of the global climate system – Hector v1.0","display_name":"A simple object-oriented and open-source model for scientific and policy analyses of the global climate system – Hector v1.0","publication_year":2015,"publication_date":"2015-04-01","ids":{"openalex":"https://openalex.org/W2087527604","doi":"https://doi.org/10.5194/gmd-8-939-2015","mag":"2087527604"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.5194/gmd-8-939-2015","pdf_url":"https://gmd.copernicus.org/articles/8/939/2015/gmd-8-939-2015.pdf","source":{"id":"https://openalex.org/S60406085","display_name":"Geoscientific Model Development","issn_l":"1991-959X","issn":["1991-9603","1991-959X"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310313756","host_organization_name":"Copernicus Publications","host_organization_lineage":["https://openalex.org/P4310313756"],"host_organization_lineage_names":["Copernicus Publications"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://gmd.copernicus.org/articles/8/939/2015/gmd-8-939-2015.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5038771838","display_name":"Corinne Hartin","orcid":"https://orcid.org/0000-0003-1834-6539"},"institutions":[{"id":"https://openalex.org/I112475681","display_name":"Joint Global Change Research Institute","ror":"https://ror.org/058cmd703","country_code":"US","type":"facility","lineage":["https://openalex.org/I112475681","https://openalex.org/I142606810","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]},{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I1317227900","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I4210125903","display_name":"University Research Co (United States)","ror":"https://ror.org/02tbz8k15","country_code":"US","type":"company","lineage":["https://openalex.org/I4210125903"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Corinne A. Hartin","raw_affiliation_string":"Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5020005973","display_name":"Pralit Patel","orcid":"https://orcid.org/0000-0003-3992-1061"},"institutions":[{"id":"https://openalex.org/I112475681","display_name":"Joint Global Change Research Institute","ror":"https://ror.org/058cmd703","country_code":"US","type":"facility","lineage":["https://openalex.org/I112475681","https://openalex.org/I142606810","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]},{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I1317227900","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I4210125903","display_name":"University Research Co (United States)","ror":"https://ror.org/02tbz8k15","country_code":"US","type":"company","lineage":["https://openalex.org/I4210125903"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Pralit L. Patel","raw_affiliation_string":"Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5075232755","display_name":"Adria Schwarber","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I1317227900","https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Adria Schwarber","raw_affiliation_string":"University of Maryland College Park, MD, 20742 USA","raw_affiliation_strings":["University of Maryland College Park, MD, 20742 USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064319936","display_name":"Robert Link","orcid":"https://orcid.org/0000-0002-7071-248X"},"institutions":[{"id":"https://openalex.org/I112475681","display_name":"Joint Global Change Research Institute","ror":"https://ror.org/058cmd703","country_code":"US","type":"facility","lineage":["https://openalex.org/I112475681","https://openalex.org/I142606810","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]},{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I1317227900","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I4210125903","display_name":"University Research Co (United States)","ror":"https://ror.org/02tbz8k15","country_code":"US","type":"company","lineage":["https://openalex.org/I4210125903"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Robert P. Link","raw_affiliation_string":"Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA"]},{"author_position":"last","author":{"id":"https://openalex.org/A5055772410","display_name":"Ben Bond‐Lamberty","orcid":"https://orcid.org/0000-0001-9525-4633"},"institutions":[{"id":"https://openalex.org/I112475681","display_name":"Joint Global Change Research Institute","ror":"https://ror.org/058cmd703","country_code":"US","type":"facility","lineage":["https://openalex.org/I112475681","https://openalex.org/I142606810","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]},{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I1317227900","https://openalex.org/I66946132"]},{"id":"https://openalex.org/I4210125903","display_name":"University Research Co (United States)","ror":"https://ror.org/02tbz8k15","country_code":"US","type":"company","lineage":["https://openalex.org/I4210125903"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin Bond-Lamberty","raw_affiliation_string":"Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Joint Global Change Research Institute at the University of Maryland â College Park, 5825 University Research Court, College Park, MD 20740, USA"]}],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":1600,"currency":"EUR","value_usd":1725,"provenance":"doaj"},"apc_paid":{"value":1600,"currency":"EUR","value_usd":1725,"provenance":"doaj"},"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":85,"cited_by_percentile_year":{"min":98,"max":99},"biblio":{"volume":"8","issue":"4","first_page":"939","last_page":"955"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"global climate system","score":0.683},{"keyword":"policy analyses","score":0.3264},{"keyword":"object-oriented","score":0.25},{"keyword":"open-source","score":0.25}],"concepts":[{"id":"https://openalex.org/C6939412","wikidata":"https://www.wikidata.org/wiki/Q167751","display_name":"Carbon cycle","level":3,"score":0.6422285},{"id":"https://openalex.org/C80368990","wikidata":"https://www.wikidata.org/wiki/Q3046459","display_name":"Earth system science","level":2,"score":0.6204186},{"id":"https://openalex.org/C39432304","wikidata":"https://www.wikidata.org/wiki/Q188847","display_name":"Environmental science","level":0,"score":0.61204314},{"id":"https://openalex.org/C168754636","wikidata":"https://www.wikidata.org/wiki/Q620920","display_name":"Climate model","level":3,"score":0.59199136},{"id":"https://openalex.org/C99578197","wikidata":"https://www.wikidata.org/wiki/Q1463606","display_name":"Radiative forcing","level":3,"score":0.5032856},{"id":"https://openalex.org/C47737302","wikidata":"https://www.wikidata.org/wiki/Q167336","display_name":"Greenhouse gas","level":2,"score":0.49753454},{"id":"https://openalex.org/C49204034","wikidata":"https://www.wikidata.org/wiki/Q52139","display_name":"Climatology","level":1,"score":0.46728903},{"id":"https://openalex.org/C2778760939","wikidata":"https://www.wikidata.org/wiki/Q7314241","display_name":"Representative Concentration Pathways","level":4,"score":0.45592833},{"id":"https://openalex.org/C41156917","wikidata":"https://www.wikidata.org/wiki/Q682831","display_name":"Downscaling","level":3,"score":0.4555962},{"id":"https://openalex.org/C91586092","wikidata":"https://www.wikidata.org/wiki/Q757520","display_name":"Atmospheric sciences","level":1,"score":0.4372675},{"id":"https://openalex.org/C153294291","wikidata":"https://www.wikidata.org/wiki/Q25261","display_name":"Meteorology","level":1,"score":0.42872617},{"id":"https://openalex.org/C65440619","wikidata":"https://www.wikidata.org/wiki/Q177974","display_name":"Atmosphere (unit)","level":2,"score":0.42623812},{"id":"https://openalex.org/C132651083","wikidata":"https://www.wikidata.org/wiki/Q7942","display_name":"Climate change","level":2,"score":0.4006042},{"id":"https://openalex.org/C110872660","wikidata":"https://www.wikidata.org/wiki/Q37813","display_name":"Ecosystem","level":2,"score":0.22654223},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.20267317},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.15215558},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.14157057},{"id":"https://openalex.org/C2779345167","wikidata":"https://www.wikidata.org/wiki/Q104541","display_name":"Aerosol","level":2,"score":0.13553536},{"id":"https://openalex.org/C111368507","wikidata":"https://www.wikidata.org/wiki/Q43518","display_name":"Oceanography","level":1,"score":0.111956745},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.5194/gmd-8-939-2015","pdf_url":"https://gmd.copernicus.org/articles/8/939/2015/gmd-8-939-2015.pdf","source":{"id":"https://openalex.org/S60406085","display_name":"Geoscientific Model Development","issn_l":"1991-959X","issn":["1991-9603","1991-959X"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310313756","host_organization_name":"Copernicus Publications","host_organization_lineage":["https://openalex.org/P4310313756"],"host_organization_lineage_names":["Copernicus Publications"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":false,"landing_page_url":"https://doaj.org/article/2f9bae52a1e84dc78af0f4cfab69116c","pdf_url":null,"source":{"id":"https://openalex.org/S4306401280","display_name":"DOAJ (DOAJ: Directory of Open Access Journals)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":false,"landing_page_url":"https://www.osti.gov/biblio/1182883","pdf_url":null,"source":{"id":"https://openalex.org/S4306402487","display_name":"OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I139351228","host_organization_name":"Office of Scientific and Technical Information","host_organization_lineage":["https://openalex.org/I139351228"],"host_organization_lineage_names":["Office of Scientific and Technical Information"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.5194/gmd-8-939-2015","pdf_url":"https://gmd.copernicus.org/articles/8/939/2015/gmd-8-939-2015.pdf","source":{"id":"https://openalex.org/S60406085","display_name":"Geoscientific Model Development","issn_l":"1991-959X","issn":["1991-9603","1991-959X"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310313756","host_organization_name":"Copernicus Publications","host_organization_lineage":["https://openalex.org/P4310313756"],"host_organization_lineage_names":["Copernicus Publications"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/13","display_name":"Climate action","score":0.63},{"id":"https://metadata.un.org/sdg/14","display_name":"Life below water","score":0.18}],"grants":[],"referenced_works_count":67,"referenced_works":["https://openalex.org/W27061958","https://openalex.org/W85506769","https://openalex.org/W1522669078","https://openalex.org/W1590396946","https://openalex.org/W1907369419","https://openalex.org/W1980480679","https://openalex.org/W1982477622","https://openalex.org/W1995054497","https://openalex.org/W2000824957","https://openalex.org/W2012943011","https://openalex.org/W2017900025","https://openalex.org/W2018384918","https://openalex.org/W2018799022","https://openalex.org/W2020301263","https://openalex.org/W2022490268","https://openalex.org/W2024966118","https://openalex.org/W2025540709","https://openalex.org/W2031027346","https://openalex.org/W2034672914","https://openalex.org/W2036067407","https://openalex.org/W2039526775","https://openalex.org/W2040385818","https://openalex.org/W2048217351","https://openalex.org/W2049766574","https://openalex.org/W2050529257","https://openalex.org/W2051257671","https://openalex.org/W2051835829","https://openalex.org/W2052067198","https://openalex.org/W2052305988","https://openalex.org/W2054653365","https://openalex.org/W2057663179","https://openalex.org/W2063534846","https://openalex.org/W2071756666","https://openalex.org/W2094122353","https://openalex.org/W2095166652","https://openalex.org/W2095636002","https://openalex.org/W2098759916","https://openalex.org/W2103951855","https://openalex.org/W2105155881","https://openalex.org/W2108379304","https://openalex.org/W2116673487","https://openalex.org/W2126175917","https://openalex.org/W2126992279","https://openalex.org/W2127891711","https://openalex.org/W2128628033","https://openalex.org/W2128787428","https://openalex.org/W2130378296","https://openalex.org/W2131499768","https://openalex.org/W2133484165","https://openalex.org/W2137034930","https://openalex.org/W2141290658","https://openalex.org/W2145176236","https://openalex.org/W2147660746","https://openalex.org/W2148808471","https://openalex.org/W2151328940","https://openalex.org/W2152118727","https://openalex.org/W2160350364","https://openalex.org/W2161454991","https://openalex.org/W2161546500","https://openalex.org/W2170200711","https://openalex.org/W2171357716","https://openalex.org/W2171984413","https://openalex.org/W2243462151","https://openalex.org/W2315617681","https://openalex.org/W4233146532","https://openalex.org/W4247552240","https://openalex.org/W4248854487"],"related_works":["https://openalex.org/W2988722436","https://openalex.org/W3127738178","https://openalex.org/W2774084989","https://openalex.org/W4386738383","https://openalex.org/W2977832079","https://openalex.org/W2800163338","https://openalex.org/W2892825068","https://openalex.org/W2983248627","https://openalex.org/W3182819594","https://openalex.org/W3178445531"],"ngrams_url":"https://api.openalex.org/works/W2087527604/ngrams","abstract_inverted_index":{"Abstract.":[0],"Simple":[1],"climate":[2,18,26,43,157],"models":[3,160],"play":[4],"an":[5,37],"integral":[6],"role":[7],"in":[8,103,182],"the":[9,54,99,104,118,162],"policy":[10],"and":[11,29,72,82,113,127,159,172],"scientific":[12],"communities.":[13],"They":[14],"are":[15],"used":[16],"for":[17],"mitigation":[19],"scenarios":[20],"within":[21],"integrated":[22],"assessment":[23],"models,":[24],"complex":[25],"model":[27,47,131],"emulation,":[28],"uncertainty":[30],"analyses.":[31],"Here":[32],"we":[33],"describe":[34],"Hector":[35,61,96,116],"v1.0,":[36],"open":[38],"source,":[39],"object-oriented,":[40],"simple":[41,156],"global":[42,119],"carbon-cycle":[44],"model.":[45],"This":[46],"runs":[48],"essentially":[49],"instantaneously":[50],"while":[51],"still":[52],"representing":[53],"most":[55],"critical":[56],"global-scale":[57],"earth":[58],"system":[59,102],"processes.":[60],"has":[62],"a":[63,68,177],"three-part":[64],"main":[65],"carbon":[66,77,101,112],"cycle:":[67],"one-pool":[69],"atmosphere,":[70],"land,":[71],"ocean.":[73],"The":[74,130],"model's":[75],"terrestrial":[76],"cycle":[78],"includes":[79],"primary":[80],"production":[81],"respiration":[83],"fluxes,":[84],"accommodating":[85],"arbitrary":[86],"geographic":[87],"divisions":[88],"into,":[89],"e.g.,":[90],"ecological":[91],"biomes":[92],"or":[93],"political":[94],"units.":[95],"actively":[97],"solves":[98],"inorganic":[100],"surface":[105,128],"ocean,":[106],"directly":[107],"calculating":[108],"air–sea":[109],"fluxes":[110],"of":[111,122,142,144,180],"ocean":[114],"pH.":[115],"reproduces":[117],"historical":[120],"trends":[121],"atmospheric":[123],"[CO2],":[124],"radiative":[125],"forcing,":[126],"temperatures.":[129],"simulates":[132],"all":[133],"four":[134],"Representative":[135],"Concentration":[136],"Pathways":[137],"(RCPs)":[138],"with":[139],"equivalent":[140],"rates":[141],"change":[143],"key":[145],"variables":[146],"over":[147],"time":[148],"compared":[149],"to":[150],"current":[151],"observations,":[152],"MAGICC":[153],"(a":[154],"well-known":[155],"model),":[158],"from":[161],"5th":[163],"Coupled":[164],"Model":[165],"Intercomparison":[166],"Project.":[167],"Hector's":[168],"flexibility,":[169],"open-source":[170],"nature,":[171],"modular":[173],"design":[174],"will":[175],"facilitate":[176],"broad":[178],"range":[179],"research":[181],"various":[183],"areas.":[184]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2087527604","counts_by_year":[{"year":2023,"cited_by_count":10},{"year":2022,"cited_by_count":20},{"year":2021,"cited_by_count":20},{"year":2020,"cited_by_count":11},{"year":2019,"cited_by_count":10},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1}],"updated_date":"2023-12-14T08:43:09.469137","created_date":"2016-06-24"},"https://doi.org/10.21105/joss.00248":{"id":"https://openalex.org/W2608911894","doi":"https://doi.org/10.21105/joss.00248","title":"pyhector: A Python interface for the simple climate model Hector","display_name":"pyhector: A Python interface for the simple climate model Hector","publication_year":2017,"publication_date":"2017-04-28","ids":{"openalex":"https://openalex.org/W2608911894","doi":"https://doi.org/10.21105/joss.00248","mag":"2608911894"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.00248","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.00248.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://joss.theoj.org/papers/10.21105/joss.00248.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5036153066","display_name":"Sven Willner","orcid":"https://orcid.org/0000-0001-6798-6247"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Sven N Willner","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038771838","display_name":"Corinne Hartin","orcid":"https://orcid.org/0000-0003-1834-6539"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Corinne Hartin","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5009875192","display_name":"Robert Gieseke","orcid":"https://orcid.org/0000-0002-1236-5109"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Robert Gieseke","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"apc_paid":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":2,"cited_by_percentile_year":{"min":77,"max":80},"biblio":{"volume":"2","issue":"12","first_page":"248","last_page":"248"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"python interface","score":0.5054},{"keyword":"climate","score":0.4904},{"keyword":"model","score":0.2888}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.9044183},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.56286204},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.54852307},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.44348603},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39192992},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.35155258},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.062226593},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.00248","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.00248.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":false,"landing_page_url":"https://www.osti.gov/biblio/1406778","pdf_url":null,"source":{"id":"https://openalex.org/S4306402487","display_name":"OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I139351228","host_organization_name":"Office of Scientific and Technical Information","host_organization_lineage":["https://openalex.org/I139351228"],"host_organization_lineage_names":["Office of Scientific and Technical Information"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://publications.pik-potsdam.de/pubman/item/item_21715_1/component/file_21716/7652oa.pdf","pdf_url":"https://publications.pik-potsdam.de/pubman/item/item_21715_1/component/file_21716/7652oa.pdf","source":{"id":"https://openalex.org/S4306400891","display_name":"Publication Database PIK (Potsdam Institute for Climate Impact Research (PIK))","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I60200437","host_organization_name":"Potsdam Institute for Climate Impact Research","host_organization_lineage":["https://openalex.org/I60200437"],"host_organization_lineage_names":["Potsdam Institute for Climate Impact Research"],"type":"repository"},"license":null,"version":"submittedVersion","is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://publications.pik-potsdam.de/pubman/item/item_21715","pdf_url":"https://publications.pik-potsdam.de/pubman/item/item_21715_2/component/file_21716/7652oa.pdf","source":{"id":"https://openalex.org/S4306400891","display_name":"Publication Database PIK (Potsdam Institute for Climate Impact Research (PIK))","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I60200437","host_organization_name":"Potsdam Institute for Climate Impact Research","host_organization_lineage":["https://openalex.org/I60200437"],"host_organization_lineage_names":["Potsdam Institute for Climate Impact Research"],"type":"repository"},"license":null,"version":"submittedVersion","is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.00248","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.00248.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/13","display_name":"Climate action","score":0.87}],"grants":[],"referenced_works_count":4,"referenced_works":["https://openalex.org/W2061939373","https://openalex.org/W2087527604","https://openalex.org/W2472803348","https://openalex.org/W2505131483"],"related_works":["https://openalex.org/W1906486629","https://openalex.org/W4318619745","https://openalex.org/W3021560500","https://openalex.org/W4243252198","https://openalex.org/W656686947","https://openalex.org/W3007645298","https://openalex.org/W2584070953","https://openalex.org/W3160881136","https://openalex.org/W1825954513","https://openalex.org/W2166247150"],"ngrams_url":"https://api.openalex.org/works/W2608911894/ngrams","abstract_inverted_index":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2608911894","counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2023-12-17T10:44:45.255065","created_date":"2017-05-05"}},"citation_counts":{"https://doi.org/10.5194/gmd-8-939-2015":84,"https://doi.org/10.21105/joss.00248":2},"total_citations":86,"keywords_from_contributors":["data-package","climate-change","climate","hector","magicc-model","scenarios"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/794","html_url":"https://ost.ecosyste.ms/projects/794"}