{"id":334390,"name":"Electricity Planning Model","description":"As power system planning is one of the key activities performed by energy ministries and utilities around the world, the ambition of this tool is to actively inform the operational work of the World Bank's staff and clients and to be an evolving and versatile decision-making tool.","url":"https://github.com/esmap-world-bank-group/epm","last_synced_at":"2026-05-26T23:30:30.547Z","repository":{"id":263413370,"uuid":"890320301","full_name":"ESMAP-World-Bank-Group/EPM","owner":"ESMAP-World-Bank-Group","description":"EPM (Electricity Planning Model) is a least-cost power system planning tool.","archived":false,"fork":false,"pushed_at":"2026-04-28T06:02:35.000Z","size":349386,"stargazers_count":11,"open_issues_count":36,"forks_count":14,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-03T22:41:44.834Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://esmap-world-bank-group.github.io/EPM/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ESMAP-World-Bank-Group.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"docs/contributing/contributing_code.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-18T11:22:26.000Z","updated_at":"2026-03-31T15:42:45.000Z","dependencies_parsed_at":"2025-02-27T16:20:21.795Z","dependency_job_id":"983a29e6-bc17-4e7d-af80-1d3503462ba7","html_url":"https://github.com/ESMAP-World-Bank-Group/EPM","commit_stats":null,"previous_names":["esmap-world-bank-group/epm"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ESMAP-World-Bank-Group/EPM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ESMAP-World-Bank-Group","download_url":"https://codeload.github.com/ESMAP-World-Bank-Group/EPM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32874700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"ssl_error","status_checked_at":"2026-05-10T13:40:02.145Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":"ESMAP-World-Bank-Group","name":"Energy Sector Management Assistance Program (ESMAP)","uuid":"188213372","kind":"organization","description":"ESMAP assist developing and emerging-market countries in addressing their energy challenge.","email":null,"website":"https://www.esmap.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/188213372?v=4","repositories_count":1,"last_synced_at":"2024-11-12T15:39:05.782Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ESMAP-World-Bank-Group","funding_links":[],"total_stars":0,"followers":0,"following":0,"created_at":"2024-11-12T15:39:05.806Z","updated_at":"2024-11-12T15:39:05.806Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ESMAP-World-Bank-Group","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ESMAP-World-Bank-Group/repositories"},"packages":[],"commits":{"id":11566224,"full_name":"esmap-world-bank-group/epm","default_branch":"master","total_commits":2230,"total_committers":7,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":318.57142857142856,"dds":0.4251121076233184,"past_year_total_commits":1257,"past_year_total_committers":7,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":179.57142857142858,"past_year_dds":0.27605409705648365,"last_synced_at":"2026-05-15T06:10:30.965Z","last_synced_commit":"d89fc2ae5ba4b2f11b668f477ae3f361403117c2","created_at":"2025-11-18T03:02:38.061Z","updated_at":"2026-05-15T06:09:47.876Z","committers":[{"name":"Lucas Vivier","email":"79191733+lucas-vivier","login":"lucas-vivier","count":1282},{"name":"celiaescribe","email":"celia.escribe@polytechnique.edu","login":"celiaescribe","count":579},{"name":"Maelle Baronnet","email":"56079594+mbaronnet","login":"mbaronnet","count":282},{"name":"Maelle Baronnet","email":"mbaronnet@worldbank.org","login":"mbaronnet-wb","count":55},{"name":"Justine Broihan","email":"jbroihan@gams.com","login":"JBroihan","count":20},{"name":"Claire Nicolas","email":"claire.m.nicolas@gmail.com","login":"clairenicolas","count":8},{"name":"brokenglass14","email":"47475294+brokenglass14","login":"brokenglass14","count":4}],"past_year_committers":[{"name":"Lucas Vivier","email":"79191733+lucas-vivier","login":"lucas-vivier","count":910},{"name":"celiaescribe","email":"celia.escribe@polytechnique.edu","login":"celiaescribe","count":177},{"name":"Maelle Baronnet","email":"56079594+mbaronnet","login":"mbaronnet","count":142},{"name":"Maelle Baronnet","email":"mbaronnet@worldbank.org","login":"mbaronnet-wb","count":14},{"name":"Claire Nicolas","email":"claire.m.nicolas@gmail.com","login":"clairenicolas","count":8},{"name":"brokenglass14","email":"47475294+brokenglass14","login":"brokenglass14","count":4},{"name":"Justine Broihan","email":"jbroihan@gams.com","login":"JBroihan","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/esmap-world-bank-group%2Fepm/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-21T00:00:09.753Z","repositories_count":6237390,"commits_count":884459445,"contributors_count":34894501,"owners_count":1155649,"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":"ESMAP-World-Bank-Group/EPM","html_url":"https://github.com/ESMAP-World-Bank-Group/EPM","last_synced_at":"2026-04-02T13:59:23.323Z","status":"active","issues_count":40,"pull_requests_count":16,"avg_time_to_close_issue":1126407.8,"avg_time_to_close_pull_request":254979.07142857142,"issues_closed_count":10,"pull_requests_closed_count":14,"pull_request_authors_count":5,"issue_authors_count":7,"avg_comments_per_issue":0.8,"avg_comments_per_pull_request":0.1875,"merged_pull_requests_count":11,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":31,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":716172.1666666666,"past_year_avg_time_to_close_pull_request":119395.3,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.967741935483871,"past_year_avg_comments_per_pull_request":0.25,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":8,"created_at":"2025-08-29T12:02:19.977Z","updated_at":"2026-04-02T13:59:23.323Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESMAP-World-Bank-Group%2FEPM/issues","issue_labels_count":{"enhancement":4,"bug":3},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":21,"COLLABORATOR":19},"pull_request_author_associations_count":{"COLLABORATOR":9,"CONTRIBUTOR":6,"NONE":1},"issue_authors":{"lucas-vivier":18,"mbaronnet":10,"celiaescribe":6,"brokenglass14":3,"ThomasNikolakakis":1,"JBroihan":1,"lauraata":1},"pull_request_authors":{"lucas-vivier":7,"mbaronnet":4,"JBroihan":3,"clairenicolas":1,"ThomasNikolakakis":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-15T00:00:53.591Z","repositories_count":14606455,"issues_count":34236477,"pull_requests_count":112087116,"authors_count":11262671,"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":{"bug":2,"enhancement":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"COLLABORATOR":13,"CONTRIBUTOR":11},"past_year_pull_request_author_associations_count":{"COLLABORATOR":7,"CONTRIBUTOR":3,"NONE":1},"past_year_issue_authors":{"lucas-vivier":10,"mbaronnet":8,"brokenglass14":3,"celiaescribe":1,"lauraata":1,"ThomasNikolakakis":1},"past_year_pull_request_authors":{"lucas-vivier":4,"mbaronnet":4,"clairenicolas":1,"JBroihan":1,"ThomasNikolakakis":1},"maintainers":[{"login":"lucas-vivier","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucas-vivier"},{"login":"celiaescribe","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/celiaescribe"},{"login":"mbaronnet","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbaronnet"},{"login":"JBroihan","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JBroihan"},{"login":"brokenglass14","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brokenglass14"},{"login":"ThomasNikolakakis","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasNikolakakis"},{"login":"lauraata","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lauraata"}],"active_maintainers":[{"login":"lucas-vivier","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lucas-vivier"},{"login":"mbaronnet","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbaronnet"},{"login":"brokenglass14","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brokenglass14"},{"login":"ThomasNikolakakis","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasNikolakakis"},{"login":"celiaescribe","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/celiaescribe"},{"login":"JBroihan","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JBroihan"},{"login":"lauraata","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lauraata"}]},"events":{"total":{"DeleteEvent":21,"MemberEvent":6,"PullRequestEvent":25,"ForkEvent":6,"IssuesEvent":93,"WatchEvent":8,"IssueCommentEvent":59,"PushEvent":1241,"PullRequestReviewEvent":1,"CreateEvent":46},"last_year":{"DeleteEvent":18,"MemberEvent":4,"PullRequestEvent":14,"ForkEvent":3,"IssuesEvent":73,"WatchEvent":3,"IssueCommentEvent":24,"PushEvent":639,"PullRequestReviewEvent":1,"CreateEvent":31}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-11-18T12:42:58.659Z","updated_at":"2024-11-18T12:42:58.659Z","repository_link":"https://github.com/ESMAP-World-Bank-Group/EPM/blob/main/docs/requirements.txt","dependencies":[{"id":20781420393,"package_name":"jupyter-book","ecosystem":"pypi","requirements":"==0.14","direct":true,"kind":"runtime","optional":false},{"id":20781420572,"package_name":"sphinx","ecosystem":"pypi","requirements":"==5.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/gh-pages.yml","sha":null,"kind":"manifest","created_at":"2024-11-19T04:31:22.811Z","updated_at":"2024-11-19T04:31:22.811Z","repository_link":"https://github.com/ESMAP-World-Bank-Group/EPM/blob/main/.github/workflows/gh-pages.yml","dependencies":[{"id":20792696724,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":20792696752,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":20792696759,"package_name":"peaceiris/actions-gh-pages","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2024-12-12T09:22:35.656Z","updated_at":"2024-12-12T09:22:35.656Z","repository_link":"https://github.com/ESMAP-World-Bank-Group/EPM/blob/main/requirements.txt","dependencies":[{"id":21132741526,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":21132741527,"package_name":"gamsapi","ecosystem":"pypi","requirements":"==47.6.0","direct":true,"kind":"runtime","optional":false},{"id":21132741951,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.10.1","direct":true,"kind":"runtime","optional":false}]}],"score":5.796057750765372,"created_at":"2025-11-12T00:01:46.179Z","updated_at":"2026-05-26T23:30:30.746Z","avatar_url":"https://github.com/ESMAP-World-Bank-Group.png","language":"Python","category":"Energy Systems","sub_category":"Energy System Modeling Frameworks","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Electricity Planning Model (EPM)\n\n## Status\n\n[![Test workflows](https://github.com/ESMAP-World-Bank-Group/EPM/actions/workflows/gams_workflow.yml/badge.svg)](https://github.com/ESMAP-World-Bank-Group/EPM/actions/workflows/gams_workflow.yml)\n[![GitHub Pages](https://github.com/ESMAP-World-Bank-Group/EPM/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/ESMAP-World-Bank-Group/EPM/actions/workflows/gh-pages.yml)\n[![License: CC0-1.0](https://img.shields.io/badge/License-CC0%201.0-lightgrey.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n![Size](https://img.shields.io/github/repo-size/ESMAP-World-Bank-Group/EPM)\n\n\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15591290.svg)](https://doi.org/10.5281/zenodo.15591290)\n\n\nFull documentation is available [here](https://esmap-world-bank-group.github.io/EPM/).\n\n## What is EPM?\n\nEPM (Electricity Planning Model) is a least-cost power system planning tool developed by the Power Systems Planning Group at the Energy Sector Management Assistance Program (ESMAP) of the World Bank. As power system planning is a key activity for energy ministries and utilities worldwide, EPM serves as a decision-making tool for World Bank staff and clients.\n\n## Objectives\n\nEPM helps answer critical questions for power system planners:\n\n- **Capacity Planning** — Optimal technology mix, investment timeline, and geographic distribution across zones\n- **System Operations** — Hourly dispatch, generation costs by zone and technology, total NPV of expansion and operations\n- **Policy Analysis** — Impact of renewable targets, cross-border interconnections, and CO₂ constraints under different scenarios\n\n## How It Works\n\nEPM is formulated in the General Algebraic Modeling System (GAMS). Input data is provided via CSV files, and results are generated as CSV outputs with automatic visualizations. Knowledge of GAMS programming is not required for basic runs.\n\nEPM minimizes the costs of expanding and operating a power system while meeting technical, economic, and environmental requirements:\n\n- **Fixed costs**: Annualized capital and fixed O\u0026M\n- **Variable costs**: Variable O\u0026M and fuel costs\n- **Dispatch optimization**: Hourly generation scheduling\n- **Geographic scope**: Multi-zone with cross-border exchanges\n- **Reserve co-optimization**: Spinning reserves allocation\n- **Policy constraints**: Emissions limits, fuel constraints, renewable targets, carbon prices\n\n## Example Outputs\n\n\u003e **Note**: These examples are for illustrative purposes only. Numbers should not be used quantitatively.\n\nEPM produces the following outputs:\n\n| Output Type | Description |\n|-------------|-------------|\n| Capacity Mix | Evolution of generation capacity by technology |\n| System Costs | NPV analysis and cost comparisons across scenarios |\n| Energy Generation | GWh production by technology and zone |\n| Dispatch | Hourly generation scheduling |\n| Interconnections | Cross-border power flows |\n| Interactive Maps | Geographic visualization of the power system |\n\nSee the [Output \u0026 Postprocessing](https://esmap-world-bank-group.github.io/EPM/output/output_overview.html) documentation for sample visualizations.\n\n## Getting Started\n\nInstall EPM and choose how you want to run it:\n\n| Method | Best for |\n|--------|----------|\n| [Windows Installer](https://esmap-world-bank-group.github.io/EPM/run/run_installation.html) | One-click setup on Windows — installs everything automatically |\n| [Dashboard](https://esmap-world-bank-group.github.io/EPM/run/run_dashboard.html) | Visual interface for quick runs, no command line needed *(under development)* |\n| [Python CLI](https://esmap-world-bank-group.github.io/EPM/run/run_python.html) | Scenarios, automation, Monte Carlo |\n| [GAMS Studio](https://esmap-world-bank-group.github.io/EPM/run/run_gams_studio.html) | Model development and GAMS debugging |\n\nFull installation instructions are available [here](https://esmap-world-bank-group.github.io/EPM/run/run_installation.html).\n\n---\n\n## Works deploying EPM\n\n- Suski, A., Remy, T., Chattopadhyay, D., Song, C. S., Jaques, I., Keskes, T., \u0026 Li, Y. (2021). Analyzing Electric Vehicle Load Impact on Power Systems: Modeling Analysis and a Case Study for Maldives. IEEE Access, 9, 125640-125657.\n- World Bank. 2021. The Value of Trade and Regional Investments in The Pan-Arab Electricity Market : Integrating Power Systems and Building Economies. World Bank, Washington, DC. © World Bank. https://openknowledge.worldbank.org/handle/10986/36614\n- Timilsina, Govinda; Deluque Curiel, Ilka; Chattopadhyay, Deb. 2021. How Much Does Latin America Gain from Enhanced Cross-Border Electricity Trade in the Short Run?. Policy Research Working Paper;No. 9692. World Bank, Washington, DC. © World Bank. https://openknowledge.worldbank.org/handle/10986/35729\n- Huang, Z., Smolenova, I., Chattopadhyay, D., Govindarajalu, C., De Wit, J., Remy, T., \u0026 Curiel, I. D. (2021). ACT on RE+ FLEX: Accelerating Coal Transition Through Repurposing Coal Plants Into Renewable and Flexibility Centers. IEEE Access, 9, 84811-84827.\n- Chattopadhyay, D., Chitkara, P., Curiel, I. D., \u0026 Draugelis, G. (2020). Cross-Border Interconnectors in South Asia: Market-Oriented Dispatch and Planning. IEEE Access, 8, 120361-120374.\n- Remy, T., \u0026 Chattopadhyay, D. (2020). Promoting better economics, renewables and CO2 reduction through trade: A case study for the Eastern Africa Power Pool. Energy for Sustainable Development, 57, 81-97.\n- Islam, M. E., Khan, M. M. Z., Chattopadhyay, D., \u0026 Väyrynen, J. (2021). Impact of COVID-19 on dispatch and capacity plan: A case study for Bangladesh. The Electricity Journal, 34(5), 106955.\n- Islam, M. E., Khan, M. M. Z., Chattopadhyay, D., \u0026 Draugelis, G. (2020, August). Economic benefits of cross border power trading: A case study for Bangladesh. In 2020 IEEE Power \u0026 Energy Society General Meeting (PESGM) (pp. 1-5). IEEE.\n- Spyrou, E., Hobbs, B. F., Bazilian, M. D., \u0026 Chattopadhyay, D. (2019). Planning power systems in fragile and conflict-affected states. Nature energy, 4(4), 300-310.\n- World Bank Group. Poland Energy Transition: The Path to Sustainability in the Electricity and Heating Sector. World Bank, 2018.\n\n\n## Citing EPM\n\nPlease cite EPM as:\n\nChattopadhyay, D., De Sisternes, F., Oguah, S. K. W., World Bank Electricity Planning Model (EPM) Mathematical Formulation, 2018, Energy Sector Management Assistance Program (ESMAP), International Bank for Reconstruction and Development, The World Bank, Washington DC\n\n```bibtex\n@article{\n  author = {Chattopadhyay, Debabrata and De Sisternes, Fernando and Oguah, Samuel Kofi Wilson},\n  title = {World Bank Electricity Planning Model (EPM) Mathematical Formulation},\n  year = {2018},\n  institution = {Energy Sector Management Assistance Program (ESMAP), International Bank for Reconstruction and Development, The World Bank},\n  address = {Washington DC}\n}\n```\n--- \n\n## License\n\nLicensed under the Creative Commons Zero v1.0 Universal (the \"License\"); you\nmay not use this file except in compliance with the License. You may\nobtain a copy of the License at \u003chttps://creativecommons.org/publicdomain/zero/1.0/\u003e\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.15591290"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/334390","html_url":"https://ost.ecosyste.ms/projects/334390"}