{"id":354350,"name":"MESSAGEix-GLOBIOM","description":"Integrated assessment modelling for long-term climate and energy transition scenarios.","url":"https://github.com/iiasa/message-ix-models","last_synced_at":"2026-06-03T11:01:27.706Z","repository":{"id":40367979,"uuid":"331276924","full_name":"iiasa/message-ix-models","owner":"iiasa","description":"Tools for the MESSAGEix-GLOBIOM family of models","archived":false,"fork":false,"pushed_at":"2026-05-29T14:25:22.000Z","size":203578,"stargazers_count":31,"open_issues_count":132,"forks_count":58,"subscribers_count":19,"default_branch":"main","last_synced_at":"2026-06-01T10:04:26.426Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.messageix.org/models","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iiasa.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-01-20T10:51:32.000Z","updated_at":"2026-05-26T09:41:49.000Z","dependencies_parsed_at":"2026-02-04T12:12:29.430Z","dependency_job_id":null,"html_url":"https://github.com/iiasa/message-ix-models","commit_stats":{"total_commits":1362,"total_committers":15,"mean_commits":90.8,"dds":"0.16886930983847281","last_synced_commit":"d985e5dfa0360939dc6585124daef1a764d8575d"},"previous_names":[],"tags_count":83,"template":false,"template_full_name":null,"purl":"pkg:github/iiasa/message-ix-models","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iiasa","download_url":"https://codeload.github.com/iiasa/message-ix-models/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/sbom","scorecard":{"id":459888,"data":{"date":"2025-08-11","repo":{"name":"github.com/iiasa/message-ix-models","commit":"60b7c575218966ffdf78e09d3fd25c382a5d9dc9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yaml:1","Warn: no topLevel permission defined: .github/workflows/pytest-snapshots.yaml:1","Warn: no topLevel permission defined: .github/workflows/pytest.yaml:1","Warn: no topLevel permission defined: .github/workflows/transport.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":7,"reason":"Found 3/4 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.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":"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":"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":5,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Info: 'up-to-date branches' is required to merge on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on 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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/publish.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:126: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:134: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:145: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:155: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:225: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:234: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:236: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  13 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc","Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-gmj6-6f8f-6699","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f"],"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 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T10:49:18.010Z","repository_id":40367979,"created_at":"2025-08-19T10:49:18.010Z","updated_at":"2025-08-19T10:49:18.010Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33860971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"iiasa","name":"IIASA","uuid":"15230149","kind":"organization","description":"International Institute for Applied Systems Analysis","email":"github-owners@iiasa.ac.at","website":"https://www.iiasa.ac.at","location":"Laxenburg, Austria","twitter":"IIASAVienna","company":null,"icon_url":"https://avatars.githubusercontent.com/u/15230149?v=4","repositories_count":128,"last_synced_at":"2024-04-16T01:17:07.573Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/iiasa","funding_links":[],"total_stars":510,"followers":116,"following":0,"created_at":"2022-11-11T19:41:36.337Z","updated_at":"2024-04-16T01:17:55.524Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iiasa","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iiasa/repositories"},"packages":[{"id":2799623,"name":"message-ix-models","ecosystem":"pypi","description":"Tools for the MESSAGEix-GLOBIOM family of models","homepage":null,"licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/iiasa/message-ix-models","keywords_array":[],"namespace":null,"versions_count":60,"first_release_published_at":"2021-02-23T15:37:17.000Z","latest_release_published_at":"2026-04-17T21:30:05.000Z","latest_release_number":"2026.4.17","last_synced_at":"2026-06-01T12:09:20.013Z","created_at":"2022-04-10T11:35:02.278Z","updated_at":"2026-06-01T12:09:20.013Z","registry_url":"https://pypi.org/project/message-ix-models/","install_command":"pip install message-ix-models --index-url https://pypi.org/simple","documentation_url":"https://docs.messageix.org/models","metadata":{"funding":null,"documentation":"https://docs.messageix.org/models","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","Intended Audience :: Science/Research","Natural Language :: English","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: R","Topic :: Scientific/Engineering","Topic :: Scientific/Engineering :: Information Analysis"],"normalized_name":"message-ix-models","project_status":null},"repo_metadata":{"id":40367979,"uuid":"331276924","full_name":"iiasa/message-ix-models","owner":"iiasa","description":"Tools for the MESSAGEix-GLOBIOM family of models","archived":false,"fork":false,"pushed_at":"2026-05-17T11:00:28.000Z","size":203301,"stargazers_count":31,"open_issues_count":128,"forks_count":59,"subscribers_count":19,"default_branch":"main","last_synced_at":"2026-05-17T12:34:51.765Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.messageix.org/models","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iiasa.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-01-20T10:51:32.000Z","updated_at":"2026-05-10T07:11:46.000Z","dependencies_parsed_at":"2026-02-04T12:12:29.430Z","dependency_job_id":null,"html_url":"https://github.com/iiasa/message-ix-models","commit_stats":{"total_commits":1362,"total_committers":15,"mean_commits":90.8,"dds":"0.16886930983847281","last_synced_commit":"d985e5dfa0360939dc6585124daef1a764d8575d"},"previous_names":[],"tags_count":83,"template":false,"template_full_name":null,"purl":"pkg:github/iiasa/message-ix-models","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iiasa","download_url":"https://codeload.github.com/iiasa/message-ix-models/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/sbom","scorecard":{"id":459888,"data":{"date":"2025-08-11","repo":{"name":"github.com/iiasa/message-ix-models","commit":"60b7c575218966ffdf78e09d3fd25c382a5d9dc9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yaml:1","Warn: no topLevel permission defined: .github/workflows/pytest-snapshots.yaml:1","Warn: no topLevel permission defined: .github/workflows/pytest.yaml:1","Warn: no topLevel permission defined: .github/workflows/transport.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":7,"reason":"Found 3/4 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.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":"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":"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":5,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Info: 'up-to-date branches' is required to merge on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on 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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yaml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/publish.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest-snapshots.yaml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest-snapshots.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:126: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:134: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:145: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:155: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:225: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yaml:234: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pytest.yaml:236: update your workflow using https://app.stepsecurity.io/secureworkflow/iiasa/message-ix-models/pytest.yaml/main?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  13 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc","Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-gmj6-6f8f-6699","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f"],"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 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T10:49:18.010Z","repository_id":40367979,"created_at":"2025-08-19T10:49:18.010Z","updated_at":"2025-08-19T10:49:18.010Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33423284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"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":"iiasa","name":"IIASA","uuid":"15230149","kind":"organization","description":"International Institute for Applied Systems Analysis","email":"github-owners@iiasa.ac.at","website":"https://www.iiasa.ac.at","location":"Laxenburg, Austria","twitter":"IIASAVienna","company":null,"icon_url":"https://avatars.githubusercontent.com/u/15230149?v=4","repositories_count":128,"last_synced_at":"2024-04-16T01:17:07.573Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/iiasa","funding_links":[],"total_stars":510,"followers":116,"following":0,"created_at":"2022-11-11T19:41:36.337Z","updated_at":"2024-04-16T01:17:55.524Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iiasa","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iiasa/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-05-30T13:25:20.140Z","dependent_packages_count":0,"downloads":2248,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":19.082259282292373,"dependent_repos_count":21.534861440080295,"dependent_packages_count":10.125576461732065,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":16.91423239470158},"purl":"pkg:pypi/message-ix-models","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/message-ix-models","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/message-ix-models","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/message-ix-models/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-18T03:05:03.323Z","issues_count":120,"pull_requests_count":428,"avg_time_to_close_issue":16389560.146341464,"avg_time_to_close_pull_request":2643369.503012048,"issues_closed_count":41,"pull_requests_closed_count":332,"pull_request_authors_count":24,"issue_authors_count":17,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":2.6121495327102804,"merged_pull_requests_count":306,"bot_issues_count":0,"bot_pull_requests_count":8,"past_year_issues_count":24,"past_year_pull_requests_count":65,"past_year_avg_time_to_close_issue":247112.0,"past_year_avg_time_to_close_pull_request":3183800.592592593,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":27,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.5416666666666666,"past_year_avg_comments_per_pull_request":2.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":2,"past_year_merged_pull_requests_count":24,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/issues","maintainers":[{"login":"khaeru","count":277,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/khaeru"},{"login":"glatterf42","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/glatterf42"},{"login":"gidden","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gidden"}],"active_maintainers":[{"login":"khaeru","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/khaeru"},{"login":"glatterf42","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/glatterf42"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/message-ix-models/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/message-ix-models/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/message-ix-models/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/message-ix-models/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/message-ix-models/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/message-ix-models/codemeta","maintainers":[{"uuid":"khaeru","login":"khaeru","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/khaeru/","role":null,"created_at":"2023-02-24T16:17:00.806Z","updated_at":"2023-02-24T16:17:00.806Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/khaeru/packages"},{"uuid":"glatterf42","login":"glatterf42","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/glatterf42/","role":null,"created_at":"2023-04-02T09:53:56.063Z","updated_at":"2023-04-02T09:53:56.063Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/glatterf42/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":877388,"maintainers_count":375412,"namespaces_count":0,"keywords_count":285845,"github":"pypi","metadata":{"funded_packages_count":54057},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-05-29T05:11:24.287Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":610257,"full_name":"iiasa/message-ix-models","default_branch":"main","total_commits":7906,"total_committers":36,"total_bot_commits":8,"total_bot_committers":1,"mean_commits":219.61111111111111,"dds":0.4511763217809259,"past_year_total_commits":1216,"past_year_total_committers":13,"past_year_total_bot_commits":6,"past_year_total_bot_committers":1,"past_year_mean_commits":93.53846153846153,"past_year_dds":0.6348684210526316,"last_synced_at":"2026-06-01T10:06:24.453Z","last_synced_commit":"b6511efafd26a15db4851aa8d84feb0f23fa8363","created_at":"2023-03-09T07:20:59.561Z","updated_at":"2026-06-01T10:05:56.656Z","committers":[{"name":"Paul Natsuo Kishimoto","email":"mail@paul.kishimoto.name","login":"khaeru","count":4339},{"name":"Florian Maczek","email":"macflo@gmx.at","login":"macflo8","count":672},{"name":"zilliacus","email":"zilliacu@iiasa.ac.at","login":"zilliacus","count":462},{"name":"Measrainsey Meng","email":"measrainsey@pm.me","login":"measrainsey","count":358},{"name":"GamzeUnlu95","email":"gamze199556@gmail.com","login":"GamzeUnlu95","count":312},{"name":"Jun Shepard","email":"51372492+junukitashepard","login":"junukitashepard","count":193},{"name":"Gardina2016","email":"kartasas@iiasa.ac.at","login":"Gardina2016","count":177},{"name":"Jihoon","email":"grcosmos@gmail.com","login":"Jihoon","count":160},{"name":"adrivinca","email":"vinca@iiasa.ac.at","login":"adrivinca","count":156},{"name":"Vignesh Raghunathan","email":"raghunathan@iiasa.ac.at","login":"Wegatriespython","count":143},{"name":"Muhammad Awais","email":"awais307@gmail.com","login":"awais307","count":133},{"name":"Fridolin Glatter","email":"glatter@iiasa.ac.at","login":"glatterf42","count":132},{"name":"Unknown","email":"krey@iiasa.ac.at","login":"volker-krey","count":106},{"name":"Francesco Lovat","email":"franlovat@gmail.com","login":"francescolovat","count":92},{"name":"yiyi1991","email":"juyiyi@iiasa.ac.at","login":"yiyi1991","count":79},{"name":"Matthew Gidden","email":"matthew.gidden@gmail.com","login":"gidden","count":68},{"name":"mstrub","email":"strub@iiasa.ac.at","login":"mstrub","count":67},{"name":"r-aneeque","email":"114144149+r-aneeque","login":"r-aneeque","count":62},{"name":"FRICKO Oliver","email":"fricko@iiasa.ac.at","login":"OFR-IIASA","count":62},{"name":"Daniel Huppmann","email":"huppmann@iiasa.ac.at","login":"danielhuppmann","count":24},{"name":"wagnerinvienna","email":"wagner@iiasa.ac.at","login":"wagnerinvienna","count":22},{"name":"Laura Wienpahl","email":"57132039+LauWien","login":"LauWien","count":17},{"name":"PRATAMA Yoga","email":"wienda@umich.edu","login":"ywpratama","count":16},{"name":"GamzeUnlu95","email":"unlu@PCC095.iiasa.ac.at","login":null,"count":13},{"name":"Unknown","email":"behnam.zakeri@live.com","login":"behnam-zakeri","count":12},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":8},{"name":"GUO Fei","email":"guof@iiasa.ac.at","login":"guofei2016","count":6},{"name":"PetrHavlik","email":"havlik.petr@gmail.com","login":"PetrHavlik","count":4},{"name":"Jarmo Kikstra","email":"46967503+jkikstra","login":"jkikstra","count":2},{"name":"scparkinson","email":"parkinso@iiasa.ac.at","login":"scparkinson","count":2},{"name":"Volker KREY","email":"krey@t501.(none)","login":null,"count":2},{"name":"Peter Kolp","email":"peterkolp","login":"peterkolp","count":1},{"name":"Philip Hackstock","email":"20710924+phackstock","login":"phackstock","count":1},{"name":"Siddharth Joshi","email":"70321679+SiddharthJoshi-Git","login":"SiddharthJoshi-Git","count":1},{"name":"GamzeUnlu95","email":"ungamze@hotmail.com","login":null,"count":1},{"name":"steffrank","email":"37440198+steffrank","login":"steffrank","count":1}],"past_year_committers":[{"name":"Paul Natsuo Kishimoto","email":"mail@paul.kishimoto.name","login":"khaeru","count":444},{"name":"Florian Maczek","email":"maczek@iiasa.ac.at","login":"macflo8","count":282},{"name":"Jun Shepard","email":"51372492+junukitashepard","login":"junukitashepard","count":193},{"name":"Vignesh Raghunathan","email":"raghunathan@iiasa.ac.at","login":"Wegatriespython","count":143},{"name":"yiyi1991","email":"juyiyi@iiasa.ac.at","login":"yiyi1991","count":76},{"name":"FRICKO Oliver","email":"fricko@iiasa.ac.at","login":"OFR-IIASA","count":20},{"name":"PRATAMA Yoga","email":"wienda@umich.edu","login":"ywpratama","count":16},{"name":"r-aneeque","email":"114144149+r-aneeque","login":"r-aneeque","count":12},{"name":"Measrainsey Meng","email":"measrainsey@pm.me","login":"measrainsey","count":11},{"name":"Fridolin Glatter","email":"glatter@iiasa.ac.at","login":"glatterf42","count":7},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":6},{"name":"GamzeUnlu95","email":"gamze199556@gmail.com","login":"GamzeUnlu95","count":5},{"name":"adrivinca","email":"adrivinca@yahoo.it","login":"adrivinca","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-03T00:00:11.051Z","repositories_count":6253295,"commits_count":884151082,"contributors_count":35040247,"owners_count":1162463,"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":"iiasa/message-ix-models","html_url":"https://github.com/iiasa/message-ix-models","last_synced_at":"2026-05-30T09:01:14.811Z","status":"active","issues_count":124,"pull_requests_count":433,"avg_time_to_close_issue":16389560.146341464,"avg_time_to_close_pull_request":2624533.065671642,"issues_closed_count":41,"pull_requests_closed_count":335,"pull_request_authors_count":25,"issue_authors_count":17,"avg_comments_per_issue":1.0080645161290323,"avg_comments_per_pull_request":2.607390300230947,"merged_pull_requests_count":309,"bot_issues_count":0,"bot_pull_requests_count":8,"past_year_issues_count":26,"past_year_pull_requests_count":62,"past_year_avg_time_to_close_issue":247112.0,"past_year_avg_time_to_close_pull_request":3115363.846153846,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":26,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.6923076923076923,"past_year_avg_comments_per_pull_request":2.161290322580645,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":2,"past_year_merged_pull_requests_count":23,"created_at":"2023-09-12T07:43:06.259Z","updated_at":"2026-05-30T09:01:14.811Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/iiasa%2Fmessage-ix-models/issues","issue_labels_count":{"enh":43,"transport":22,"bug":21,"doc":18,"ci":14,"p:SSP-2024":11,"report":11,"costs":6,"material":3,"water":3,"question":2,"structure":2,"paper":2,"report-legacy":1,"needs-info":1,"p:NAVIGATE":1,"p:CircEUlar":1,"ALPS":1,"p:EDITS":1,"duplicate":1},"pull_request_labels_count":{"enh":164,"ci":73,"p:SSP-2024":53,"doc":48,"bug":42,"transport":39,"water":37,"material":34,"costs":29,"report":16,"safe to test":11,"ai":5,"p:EDITS":4,"p:CircEUlar":3,"p:GEIDCO":3,"report-legacy":3,"bmt":3,"structure":3,"novel-cdr":2,"timeslice":2,"regional mappings":1,"archive":1,"dependencies":1,"p:NEWPATHWAYS":1,"bilateralize":1},"issue_author_associations_count":{"MEMBER":79,"CONTRIBUTOR":31,"NONE":14},"pull_request_author_associations_count":{"MEMBER":264,"CONTRIBUTOR":145,"NONE":24},"issue_authors":{"khaeru":67,"glatterf42":11,"r-aneeque":8,"macflo8":7,"measrainsey":6,"Wegatriespython":4,"ravitby":3,"LauWien":3,"Tyler-lc":3,"yiyi1991":2,"jkikstra":2,"adrivinca":2,"OFR-IIASA":2,"mengyuliisa":1,"gidden":1,"zsalimian":1,"pkufubo":1},"pull_request_authors":{"khaeru":213,"glatterf42":50,"measrainsey":41,"macflo8":28,"Wegatriespython":22,"adrivinca":15,"yiyi1991":9,"dependabot[bot]":8,"ywpratama":8,"LauWien":7,"GamzeUnlu95":6,"awais307":4,"jkikstra":4,"ShutingFann":3,"OFR-IIASA":2,"behnam-zakeri":2,"junukitashepard":2,"guofei2016":2,"volker-krey":1,"gidden":1,"r-aneeque":1,"SiddharthJoshi-Git":1,"ShaiWinograd-zz":1,"Tyler-lc":1,"francescolovat":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-01T00:00:19.192Z","repositories_count":14741965,"issues_count":33340904,"pull_requests_count":110060781,"authors_count":11287479,"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":{"transport":8,"enh":7,"doc":6,"bug":5,"ci":4,"p:SSP-2024":3,"paper":2,"water":1,"question":1,"report":1,"report-legacy":1,"ALPS":1},"past_year_pull_request_labels_count":{"enh":23,"doc":13,"p:SSP-2024":12,"water":11,"safe to test":9,"bug":7,"ci":6,"transport":5,"material":5,"report":4,"bmt":3,"novel-cdr":2,"p:NEWPATHWAYS":1,"p:CircEUlar":1,"report-legacy":1,"bilateralize":1,"dependencies":1,"costs":1},"past_year_issue_author_associations_count":{"MEMBER":14,"CONTRIBUTOR":10,"NONE":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":32,"MEMBER":26,"NONE":4},"past_year_issue_authors":{"khaeru":14,"r-aneeque":5,"Wegatriespython":3,"yiyi1991":2,"macflo8":1,"ravitby":1},"past_year_pull_request_authors":{"khaeru":19,"Wegatriespython":12,"glatterf42":7,"macflo8":6,"yiyi1991":5,"ShutingFann":3,"dependabot[bot]":2,"junukitashepard":2,"ywpratama":2,"awais307":1,"r-aneeque":1,"Tyler-lc":1,"volker-krey":1},"maintainers":[{"login":"khaeru","count":280,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/khaeru"},{"login":"glatterf42","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/glatterf42"},{"login":"gidden","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gidden"}],"active_maintainers":[{"login":"khaeru","count":33,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/khaeru"},{"login":"glatterf42","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/glatterf42"}]},"events":null,"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/publish.yaml","sha":null,"kind":"manifest","created_at":"2023-01-29T02:30:30.525Z","updated_at":"2023-01-29T02:30:30.525Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/.github/workflows/publish.yaml","dependencies":[{"id":7220120862,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7220120863,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7220120864,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"v1.5.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pytest.yaml","sha":null,"kind":"manifest","created_at":"2023-01-29T02:30:31.260Z","updated_at":"2023-01-29T02:30:31.260Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/.github/workflows/pytest.yaml","dependencies":[{"id":7220120873,"package_name":"styfle/cancel-workflow-action","ecosystem":"actions","requirements":"0.11.0","direct":true,"kind":"composite","optional":false},{"id":7220120874,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7220120875,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7220120876,"package_name":"iiasa/actions/setup-gams","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":7220120877,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"doc/requirements.in","sha":null,"kind":"manifest","created_at":"2023-09-22T13:06:28.592Z","updated_at":"2023-09-22T13:06:28.592Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/doc/requirements.in","dependencies":[{"id":13874622506,"package_name":"sphinx","ecosystem":"pypi","requirements":"==6.2.1","direct":true,"kind":"runtime","optional":false},{"id":13874622507,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==1.2.2","direct":true,"kind":"runtime","optional":false},{"id":13874622508,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"==2.5.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"doc/requirements.txt","sha":null,"kind":"lockfile","created_at":"2023-09-22T13:06:30.322Z","updated_at":"2023-09-22T13:06:30.322Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/doc/requirements.txt","dependencies":[{"id":13874622671,"package_name":"alabaster","ecosystem":"pypi","requirements":"==0.7.13","direct":false,"kind":"runtime","optional":false},{"id":13874622672,"package_name":"babel","ecosystem":"pypi","requirements":"==2.12.1","direct":false,"kind":"runtime","optional":false},{"id":13874622673,"package_name":"certifi","ecosystem":"pypi","requirements":"==2023.7.22","direct":false,"kind":"runtime","optional":false},{"id":13874622674,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.2.0","direct":false,"kind":"runtime","optional":false},{"id":13874622675,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.18.1","direct":false,"kind":"runtime","optional":false},{"id":13874622676,"package_name":"idna","ecosystem":"pypi","requirements":"==3.4","direct":false,"kind":"runtime","optional":false},{"id":13874622677,"package_name":"imagesize","ecosystem":"pypi","requirements":"==1.4.1","direct":false,"kind":"runtime","optional":false},{"id":13874622678,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.2","direct":false,"kind":"runtime","optional":false},{"id":13874622679,"package_name":"latexcodec","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":13874622680,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==2.1.3","direct":false,"kind":"runtime","optional":false},{"id":13874622681,"package_name":"packaging","ecosystem":"pypi","requirements":"==23.1","direct":false,"kind":"runtime","optional":false},{"id":13874622682,"package_name":"pybtex","ecosystem":"pypi","requirements":"==0.24.0","direct":false,"kind":"runtime","optional":false},{"id":13874622683,"package_name":"pybtex-docutils","ecosystem":"pypi","requirements":"==1.0.2","direct":false,"kind":"runtime","optional":false},{"id":13874622684,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.16.1","direct":false,"kind":"runtime","optional":false},{"id":13874622685,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":13874622686,"package_name":"requests","ecosystem":"pypi","requirements":"==2.31.0","direct":false,"kind":"runtime","optional":false},{"id":13874622687,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"runtime","optional":false},{"id":13874622688,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"==2.2.0","direct":false,"kind":"runtime","optional":false},{"id":13874622689,"package_name":"sphinx","ecosystem":"pypi","requirements":"==6.2.1","direct":false,"kind":"runtime","optional":false},{"id":13874622690,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==1.2.2","direct":false,"kind":"runtime","optional":false},{"id":13874622691,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==1.0.4","direct":false,"kind":"runtime","optional":false},{"id":13874622692,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"==2.5.0","direct":false,"kind":"runtime","optional":false},{"id":13874622693,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==1.0.2","direct":false,"kind":"runtime","optional":false},{"id":13874622694,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":13874622695,"package_name":"sphinxcontrib-jquery","ecosystem":"pypi","requirements":"==4.1","direct":false,"kind":"runtime","optional":false},{"id":13874622696,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":false,"kind":"runtime","optional":false},{"id":13874622697,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==1.0.3","direct":false,"kind":"runtime","optional":false},{"id":13874622698,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==1.1.5","direct":false,"kind":"runtime","optional":false},{"id":13874622699,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.0.4","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-09-22T13:06:31.520Z","updated_at":"2023-09-22T13:06:31.520Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/pyproject.toml","dependencies":[{"id":13874623427,"package_name":"click","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13874623428,"package_name":"colorama","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13874623429,"package_name":"genno","ecosystem":"pypi","requirements":"\u003e= 1.18.1","direct":true,"kind":"runtime","optional":false},{"id":13874623430,"package_name":"iam_units","ecosystem":"pypi","requirements":"\u003e= 2023.9.11","direct":true,"kind":"runtime","optional":false},{"id":13874623431,"package_name":"message_ix","ecosystem":"pypi","requirements":"\u003e= 3.4.0","direct":true,"kind":"runtime","optional":false},{"id":13874623432,"package_name":"pooch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13874623433,"package_name":"pyam-iamc","ecosystem":"pypi","requirements":"\u003e= 0.6","direct":true,"kind":"runtime","optional":false},{"id":13874623434,"package_name":"pycountry","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13874623435,"package_name":"PyYAML","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13874623436,"package_name":"sdmx1","ecosystem":"pypi","requirements":"\u003e= 2.8.0","direct":true,"kind":"runtime","optional":false},{"id":13874623437,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/transport.yaml","sha":null,"kind":"manifest","created_at":"2026-02-04T12:12:29.333Z","updated_at":"2026-02-04T12:12:29.333Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/.github/workflows/transport.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/pytest-snapshots.yaml","sha":null,"kind":"manifest","created_at":"2026-02-04T12:12:27.900Z","updated_at":"2026-02-04T12:12:27.900Z","repository_link":"https://github.com/iiasa/message-ix-models/blob/main/.github/workflows/pytest-snapshots.yaml","dependencies":[{"id":25810783106,"package_name":"actions/cache","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":25810783107,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25810783108,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25810783253,"package_name":"iiasa/actions/setup-gams","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":25810783265,"package_name":"ts-graphviz/setup-graphviz","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25810783340,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]}],"score":16.396398980169604,"created_at":"2026-05-10T12:29:01.329Z","updated_at":"2026-06-03T11:01:27.708Z","avatar_url":"https://github.com/iiasa.png","language":"Python","category":"Climate Change","sub_category":"Integrated Assessment and Climate Policy","monthly_downloads":2248,"total_dependent_repos":1,"total_dependent_packages":0,"readme":"Tools for MESSAGEix-GLOBIOM models\n**********************************\n|pypi| |rtd| |gha| |codecov|\n\n``message_ix_models`` provides tools for research using the MESSAGEix-GLOBIOM family of models.\nThese models are built in the `MESSAGEix framework \u003chttps://docs.messageix.org\u003e`_ and on the `ix modeling platform (ixmp) \u003chttps://docs.messageix.org/ixmp/\u003e`_.\n\nSee the `online documentation \u003chttps://docs.messageix.org/projects/models/\u003e`_ for further information.\n\nLicense\n=======\n\nCopyright © 2020–2026 IIASA Energy, Climate, and Environment (ECE) program\n\nLicensed under the Apache License, version 2.0.\n\n.. |pypi| image:: https://img.shields.io/pypi/v/message-ix-models.svg\n   :alt: PyPI version\n   :target: https://pypi.python.org/pypi/message-ix-models/\n\n.. |rtd| image:: https://readthedocs.com/projects/iiasa-energy-program-message-ix-models/badge/?version=latest\n   :alt: Documentation status\n   :target: https://docs.messageix.org/projects/models/en/latest/?badge=latest\n\n.. |gha| image:: https://github.com/iiasa/message-ix-models/actions/workflows/pytest.yaml/badge.svg\n   :alt: Test status\n   :target: https://github.com/iiasa/message-ix-models/actions/workflows/pytest.yaml\n\n.. |codecov| image:: https://codecov.io/gh/iiasa/message-ix-models/branch/main/graph/badge.svg\n   :alt: Test coverage\n   :target: https://codecov.io/gh/iiasa/message-ix-models\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["energy-system","integrated-assessment","gams","integrated-assessment-model","strategic-planning","data-warehouse","modeling-tool","iamc-format","integrated-assessment-scenarios","macro-energy"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/354350","html_url":"https://ost.ecosyste.ms/projects/354350"}