{"id":19898,"name":"OSeMOSYS","description":"An open source modeling system for long-run integrated assessment and energy planning. It has been employed to develop energy systems models from the scale of continents (African Power Pools, South America, EU28+2) down to the scale of countries, regions and villages.","url":"https://github.com/OSeMOSYS/OSeMOSYS","last_synced_at":"2026-04-21T06:01:14.451Z","repository":{"id":50987718,"uuid":"69854839","full_name":"OSeMOSYS/OSeMOSYS","owner":"OSeMOSYS","description":"OSeMOSYS - the Open Source Energy Modelling System","archived":false,"fork":false,"pushed_at":"2025-10-22T16:36:22.000Z","size":12204,"stargazers_count":184,"open_issues_count":46,"forks_count":118,"subscribers_count":34,"default_branch":"master","last_synced_at":"2026-04-17T04:03:19.679Z","etag":null,"topics":["energy","energy-model","energy-planners","investment","osemosys","students"],"latest_commit_sha":null,"homepage":"http://www.osemosys.org","language":null,"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/OSeMOSYS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-10-03T08:53:55.000Z","updated_at":"2026-04-03T00:29:04.000Z","dependencies_parsed_at":"2023-09-21T19:15:10.445Z","dependency_job_id":"61bdbbfb-6029-4753-a3ff-80afb94a6686","html_url":"https://github.com/OSeMOSYS/OSeMOSYS","commit_stats":{"total_commits":310,"total_committers":14,"mean_commits":"22.142857142857142","dds":0.5741935483870968,"last_synced_commit":"89a60d160e57640fb33010829ea7ffa4375b8485"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OSeMOSYS/OSeMOSYS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OSeMOSYS","download_url":"https://codeload.github.com/OSeMOSYS/OSeMOSYS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31995167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":"OSeMOSYS","name":"OSeMOSYS","uuid":"14215860","kind":"organization","description":"Open-source Energy Modelling System","email":"osemosys@gmail.com","website":"http://www.osemosys.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/14215860?v=4","repositories_count":11,"last_synced_at":"2023-03-02T19:55:15.972Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/OSeMOSYS","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T10:29:57.448Z","updated_at":"2023-03-02T19:55:15.982Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OSeMOSYS","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OSeMOSYS/repositories"},"packages":[],"commits":{"id":1253974,"full_name":"OSeMOSYS/OSeMOSYS","default_branch":"master","total_commits":312,"total_committers":15,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":20.8,"dds":0.5769230769230769,"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2026-04-19T05:01:03.208Z","last_synced_commit":"f2801e84c574aa5ab53dd7f262b832f955f21b49","created_at":"2023-03-27T10:49:16.522Z","updated_at":"2026-04-19T05:00:55.771Z","committers":[{"name":"AgnesBelt","email":"31009972+AgnesBelt","login":"AgnesBelt","count":132},{"name":"FraGard","email":"fr.gardumi@gmail.com","login":"FraGard","count":107},{"name":"Will Usher","email":"william.usher@ouce.ox.ac.uk","login":"willu47","count":48},{"name":"carderne","email":"arderne@kth.se","login":"carderne","count":7},{"name":"abhishek0208","email":"abhishek0208@gmail.com","login":"abhishek0208","count":4},{"name":"RK900","email":"rovik05@gmail.com","login":"RK900","count":3},{"name":"tniet","email":"tniet@bcit.ca","login":"tniet","count":2},{"name":"Jonas Hoersch","email":"jonas@chaoflow.net","login":"coroa","count":2},{"name":"Youssef Boulkaid","email":"yboulkaid@gmail.com","login":"yboulkaid","count":1},{"name":"Thorsten Burandt","email":"thb@wip.tu-berlin.de","login":"tburandt","count":1},{"name":"Riccardo Novo","email":"75076219+riccardonovo","login":"riccardonovo","count":1},{"name":"Hauke Henke","email":"32165931+HauHe","login":"HauHe","count":1},{"name":"Florian Dierickx","email":"floriandierickx@gmail.com","login":"floriandierickx","count":1},{"name":"Fernando Plazas","email":"81928565+fernandoplazas","login":"fernandoplazas","count":1},{"name":"Thorsten Burandt","email":"thb@wip.tu-berlin","login":null,"count":1}],"past_year_committers":[{"name":"Will Usher","email":"will.usher@openenergytransition.org","login":"willu47","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.949Z","repositories_count":6215319,"commits_count":899434825,"contributors_count":34906545,"owners_count":1143788,"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":"OSeMOSYS/OSeMOSYS","html_url":"https://github.com/OSeMOSYS/OSeMOSYS","last_synced_at":"2026-01-14T07:01:01.063Z","status":"error","issues_count":86,"pull_requests_count":33,"avg_time_to_close_issue":9657938.952380951,"avg_time_to_close_pull_request":6933939.03030303,"issues_closed_count":42,"pull_requests_closed_count":33,"pull_request_authors_count":14,"issue_authors_count":14,"avg_comments_per_issue":1.0465116279069766,"avg_comments_per_pull_request":0.6060606060606061,"merged_pull_requests_count":23,"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:35:07.723Z","updated_at":"2026-01-14T07:01:01.064Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSeMOSYS%2FOSeMOSYS/issues","issue_labels_count":{"documentation":9,"enhancement":6,"OEP":5,"good_for_beginners":3,"outreach":2,"bug":2,"question":1},"pull_request_labels_count":{"enhancement":1,"documentation":1},"issue_author_associations_count":{"MEMBER":69,"NONE":11,"CONTRIBUTOR":6},"pull_request_author_associations_count":{"MEMBER":10,"CONTRIBUTOR":10,"NONE":7,"COLLABORATOR":6},"issue_authors":{"willu47":69,"tniet":4,"EmiFej":2,"JoPapp":1,"MonacoL":1,"abhishek0208":1,"Irshaadv":1,"JZF07":1,"frnsys":1,"vignesh1987":1,"NMoksnes":1,"AndreaPalo":1,"FraGard":1,"potato-zero":1},"pull_request_authors":{"willu47":10,"AgnesBelt":6,"turineiscoffee":4,"tburandt":2,"RK900":2,"ResearchAtPlay":1,"FraGard":1,"coroa":1,"floriandierickx":1,"yboulkaid":1,"ghost":1,"riccardonovo":1,"HauHe":1,"AndreaPalo":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:09.649Z","repositories_count":14291239,"issues_count":34558250,"pull_requests_count":113086947,"authors_count":11236437,"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":"willu47","count":79,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/willu47"},{"login":"AgnesBelt","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/AgnesBelt"}],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":1,"ForkEvent":10,"WatchEvent":20,"PushEvent":3},"last_year":{"DeleteEvent":1,"PullRequestEvent":1,"ForkEvent":9,"WatchEvent":7,"PushEvent":2}},"keywords":["energy","energy-model","energy-planners","investment","osemosys","students"],"dependencies":[],"score":8.146129510025405,"created_at":"2023-09-11T14:52:07.922Z","updated_at":"2026-04-21T06:01:14.457Z","avatar_url":"https://github.com/OSeMOSYS.png","language":null,"category":"Energy Systems","sub_category":"Energy System Modeling Frameworks","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# OSeMOSYS - Open Source Energy Modelling System\n\n[![Documentation Status](https://readthedocs.org/projects/osemosys/badge/?version=latest)](https://osemosys.readthedocs.io/en/latest/?badge=latest)\n\nWelcome to OSeMOSYS - the Open Source energy MOdelling SYStem. This source code\nrepository contains the Apache-2.0 licensed source-code for the different\nimplementations of OSeMOSYS - GNU MathProg, Pyomo, PuLP and GAMS.\n\nFor an in-depth introduction to the underlying model and its structure, you can\nread the [original paper](https://www.sciencedirect.com/science/article/abs/pii/S0301421511004897)\n(needs access to Elsevier ScienceDirect).\n\nThe different versions are contained in subfolders, together with readme files\nwhich provide information of how to install and run the code.\n\n## Getting the OSeMOSYS code\n\n### Modellers\n\nThe OSeMOSYS code packages you need for writing your own models are released on the\n[website](http://www.osemosys.org/get-started.html), along with a lot of useful\ninformation on how to get started.\n\n### Developers\n\nOSeMOSYS consists of this repository and several submodules, which contain the different language implementations of\nthe OSeMOSYS formulation.\n\nTo obtain all the OSeMOSYS code including the language implementations\nfor development purposes, run the following commands from your command line:\n\n```bash\ncd \u003cname_of_folder\u003e\ngit clone https://github.com/OSeMOSYS/OSeMOSYS # obtain the OSeMOSYS repository code\ngit submodule init # initialize your local submodule configuration file\ngit submodule update # fetch all the data from project and check out correct commit\n```\n\nIf successful, this should download all the code to the folder you specified in\nthe first step.\n\nAlternatively, use the `--recurse-submodules` argument to the `git clone` command:\n\n```bash\ncd \u003cname_of_folder\u003e\ngit clone https://github.com/OSeMOSYS/OSeMOSYS --recurse-submodules\n# obtain the OSeMOSYS repository code and submodules all in one line\n```\n\n## Contributing\n\nPlease view our separate [contributing](https://github.com/OSeMOSYS/OSeMOSYS/blob/master/contributing.md)\ndocument to find out how to contribute to the OSeMOSYS community.\n\n## Background\n\nOSeMOSYS is a full-fledged systems optimization model generator for long-term\nenergy planning.\nUnlike long established energy systems models,\nsuch as MARKAL/TIMES (ETSAP, 2010), MESSAGE (IAEA, 2010), PRIMES (NTUA, 2010),\nEFOM (Van der Voort, 1982) and POLES (Enerdata, 2010),\nOSeMOSYS potentially requires a less significant learning curve and time\ncommitment to build and operate.\nAdditionally, by not using proprietary software or commercial programming\nlanguages and solvers, OSeMOSYS requires no upfront financial investment.\nThese two advantages extend the availability of energy modeling\nto large communities of students, business analysts, government specialists\nand developing countries energy researchers.\n\n## Motivation\n\nOSeMOSYS is designed to fill a gap in the analytical toolbox available to the energy research community and energy planners in developing countries. At present there exists a useful, but limited set of accessible energy system models. These tools often require significant investment in terms of human resources, training and software purchases in order to apply or further develop them. In addition, their structure is often such that integration with other tools, when possible, can be difficult.\n\n## Energy Specialists\n\nThe OSeMOSYS code is relatively straightforward and transparent and allows for simple refinements and the ability to conduct sophisticated analyses. As models are made to generate insights, OSeMOSYS allows a test-bed for new energy model developments.\n\n## Education\n\nEnabling graduate students to build and iteratively develop formal energy models will impart this knowledge base to very wide range of energy market roles and positions. Extending the human capacity of private and public policy makers to use and understand energy models is a key step in the effective use and interpretation of formal analytical tools. And growing human capacity in energy modeling in developing countries – whose institutions have relatively fewer research resources – is particularly important, given the growth of developing countries in energy related emissions, resource use, and demand for energy services.\n\n## Community\n\nOSeMOSYS community welcomes professionals and experts from different levels: decision makers, policy officers, energy planners, developers of new model functionalities, programmers.\n\n## The OpTIMUS Community, Practice 3\n\nOSeMOSYS is part of the OpTIMUS Community, Practice 3: Open Software, together with other world class, peer reviewed open source tools and data.\n\nOpTIMUS aims at promoting quantitative analysis to inform sustainable development policy, through the coordination of networks to advance open source software, knowledge development and capacity building. It is organized in three practices -modeling and capacity building for policy support, expert review and quality control, and software development.\nFor more information on the OpTIMUS Community, please visit the related website: http://www.optimus.community/.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["energy-system","gams","energy-system-modelling"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19898","html_url":"https://ost.ecosyste.ms/projects/19898"}