{"id":321885,"name":"OnStove","description":"Calculates the net-benefits of different stove options in a given geography and compares all stoves to one another with regards to their net-benefit.","url":"https://github.com/open-source-spatial-clean-cooking-tool/onstove","last_synced_at":"2026-05-22T00:30:27.265Z","repository":{"id":44909077,"uuid":"336386087","full_name":"Open-Source-Spatial-Clean-Cooking-Tool/OnStove","owner":"Open-Source-Spatial-Clean-Cooking-Tool","description":"This repository contain the general code for the Open Source Spatial Clean Cooking Tool OnStove","archived":false,"fork":false,"pushed_at":"2026-05-04T10:29:22.000Z","size":93260,"stargazers_count":14,"open_issues_count":42,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-05-04T16:07:16.258Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-05T20:50:19.000Z","updated_at":"2026-04-07T21:16:51.000Z","dependencies_parsed_at":"2026-02-03T20:01:44.206Z","dependency_job_id":"56c189be-080c-486f-8532-f3c1b27beb94","html_url":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/Open-Source-Spatial-Clean-Cooking-Tool/OnStove","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-Source-Spatial-Clean-Cooking-Tool%2FOnStove","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-Source-Spatial-Clean-Cooking-Tool%2FOnStove/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-Source-Spatial-Clean-Cooking-Tool%2FOnStove/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-Source-Spatial-Clean-Cooking-Tool%2FOnStove/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Open-Source-Spatial-Clean-Cooking-Tool","download_url":"https://codeload.github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-Source-Spatial-Clean-Cooking-Tool%2FOnStove/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32954822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":"Open-Source-Spatial-Clean-Cooking-Tool","name":"OnStove","uuid":"78610544","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/78610544?v=4","repositories_count":2,"last_synced_at":"2024-02-22T10:55:35.377Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool","funding_links":[],"total_stars":7,"followers":null,"following":null,"created_at":"2024-02-22T10:55:35.379Z","updated_at":"2024-02-22T10:55:35.379Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Open-Source-Spatial-Clean-Cooking-Tool","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Open-Source-Spatial-Clean-Cooking-Tool/repositories"},"packages":[],"commits":{"id":10682154,"full_name":"open-source-spatial-clean-cooking-tool/onstove","default_branch":"main","total_commits":711,"total_committers":7,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":101.57142857142857,"dds":0.5274261603375527,"past_year_total_commits":34,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":17.0,"past_year_dds":0.4411764705882353,"last_synced_at":"2026-05-18T23:01:25.592Z","last_synced_commit":"d6fe5cfbddc613b31a1924daf61a280706ab05a2","created_at":"2025-08-01T00:06:16.791Z","updated_at":"2026-05-18T23:01:25.497Z","committers":[{"name":"Camilo Ramirez","email":"camilorg@kth.se","login":"camiloramirezgo","count":336},{"name":"Babak","email":"khavari@kth.se","login":"babakkhavari","count":292},{"name":"Jeff Osundwa","email":"jeff@kartoza.com","login":"osundwajeff","count":39},{"name":"manuelsalslz","email":"mess@kth.se","login":"manuelsalslz","count":31},{"name":"aliciaoberholzer","email":"alicia.oberholzer1995@gmail.com","login":"aliciaoberholzer","count":11},{"name":"Jeremy","email":"jeremy.prior9@gmail.com","login":"Jeremy-Prior","count":1},{"name":"AndreasSahlberg","email":"asahl@kth.se","login":"AndreasSahlberg","count":1}],"past_year_committers":[{"name":"manuelsalslz","email":"mess@kth.se","login":"manuelsalslz","count":19},{"name":"Camilo","email":"camilorg@kth.se","login":"camiloramirezgo","count":15}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-source-spatial-clean-cooking-tool%2Fonstove/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-21T00:00:09.753Z","repositories_count":6236364,"commits_count":884135613,"contributors_count":34882451,"owners_count":1155148,"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":"open-source-spatial-clean-cooking-tool/onstove","html_url":"https://github.com/open-source-spatial-clean-cooking-tool/onstove","last_synced_at":"2026-05-10T19:02:09.174Z","status":"error","issues_count":29,"pull_requests_count":13,"avg_time_to_close_issue":38139508.705882356,"avg_time_to_close_pull_request":1925244.25,"issues_closed_count":17,"pull_requests_closed_count":12,"pull_request_authors_count":4,"issue_authors_count":3,"avg_comments_per_issue":0.06896551724137931,"avg_comments_per_pull_request":0.3076923076923077,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":16,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":11770863.2,"past_year_avg_time_to_close_pull_request":3764921.0,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0625,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2025-08-01T00:06:17.176Z","updated_at":"2026-05-10T19:02:09.174Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-source-spatial-clean-cooking-tool%2Fonstove","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-source-spatial-clean-cooking-tool%2Fonstove/issues","issue_labels_count":{"bug":4,"New functionality":3,"good first issue":1,"question":1},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":23,"NONE":6},"pull_request_author_associations_count":{"CONTRIBUTOR":9,"NONE":4},"issue_authors":{"camiloramirezgo":15,"manuelsalslz":9,"babakkhavari":5},"pull_request_authors":{"camiloramirezgo":7,"manuelsalslz":3,"osundwajeff":2,"babakkhavari":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-16T00:00:24.458Z","repositories_count":14619329,"issues_count":34196960,"pull_requests_count":111935855,"authors_count":11264291,"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":{"CONTRIBUTOR":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"manuelsalslz":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"DeleteEvent":2,"PullRequestEvent":7,"ForkEvent":1,"IssuesEvent":23,"WatchEvent":3,"IssueCommentEvent":7,"PushEvent":62,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":1,"CreateEvent":3},"last_year":{"DeleteEvent":1,"PullRequestEvent":1,"IssuesEvent":5,"WatchEvent":3,"PushEvent":40,"PullRequestReviewCommentEvent":3,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2023-02-02T17:51:49.941Z","updated_at":"2023-02-02T17:51:49.941Z","repository_link":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/blob/main/.github/workflows/tests.yml","dependencies":[{"id":7318676972,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7318676973,"package_name":"conda-incubator/setup-miniconda","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2026-02-03T20:01:42.832Z","updated_at":"2026-02-03T20:01:42.832Z","repository_link":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/blob/main/environment.yml","dependencies":[{"id":25810138954,"package_name":"dill","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138965,"package_name":"geopandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138972,"package_name":"libgdal","ecosystem":"conda","requirements":"3.5.2","direct":true,"kind":"runtime","optional":false},{"id":25810138975,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138976,"package_name":"plotnine","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138977,"package_name":"psutil","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138978,"package_name":"psycopg2","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138983,"package_name":"pyproj","ecosystem":"conda","requirements":"3.3.1","direct":true,"kind":"runtime","optional":false},{"id":25810138990,"package_name":"python","ecosystem":"conda","requirements":"\u003e=3.10","direct":true,"kind":"runtime","optional":false},{"id":25810138991,"package_name":"python-decouple","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810138998,"package_name":"rasterio","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810139000,"package_name":"scikit-image","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810139001,"package_name":"svgpathtools","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25810139016,"package_name":"svgpath2mpl","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-01-16T15:13:58.782Z","updated_at":"2024-01-16T15:13:58.782Z","repository_link":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/blob/main/setup.py","dependencies":[{"id":15646024956,"package_name":"dill","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646024957,"package_name":"geopandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646024958,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646024959,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646024960,"package_name":"plotnine","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646024999,"package_name":"psutil","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646025000,"package_name":"psycopg2","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646025001,"package_name":"python-decouple","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646025002,"package_name":"rasterio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646025003,"package_name":"scikit-image","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646025004,"package_name":"svgpathtools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":15646025045,"package_name":"svgpath2mpl","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":5.971261839790463,"created_at":"2025-08-01T00:06:15.547Z","updated_at":"2026-05-22T00:30:27.268Z","avatar_url":"https://github.com/Open-Source-Spatial-Clean-Cooking-Tool.png","language":"Python","category":"Energy Systems","sub_category":"Renewable Energy Integration","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"﻿# \u003cimg src=\"https://user-images.githubusercontent.com/12953752/178504166-47821216-ea94-4241-8b4c-5c6f19a460ec.svg\" alt=\"drawing\" style=\"width:200px\"/\u003e\n\n[![Documentation Status](https://readthedocs.org/projects/onstove-documentation/badge/?version=latest)](https://onstove-documentation.readthedocs.io/en/latest/?badge=latest) \n[![Tests](https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/actions?query=workflow%3Atests)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![codecov](https://codecov.io/gh/Open-Source-Spatial-Clean-Cooking-Tool/OnStove/graph/badge.svg?token=OTRT9AQNE1)](https://codecov.io/gh/Open-Source-Spatial-Clean-Cooking-Tool/OnStove)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7185176.svg)](https://doi.org/10.5281/zenodo.7185176)\n[![Conda Version](https://img.shields.io/conda/vn/conda-forge/onstove.svg)](https://anaconda.org/conda-forge/onstove)\n\nThis repository contains the general code for the geospatial cost-benefit clean cooking tool, OnStove. OnStove calculates the net-benefits of different stove options in a given geography and compares all stoves to one another with regards to their net-benefit.\n\n## Introduction \nOnStove is developed by the division of Energy Systems at KTH together with partners. The tool is a geospatial, raster-based tool determining the net-benefit of different cooking solutions selected by the user for raster grid cell of a given study area. The tool takes into account four benefits of adopting clean cooking: reduced morbidity, mortality, emissions and time saved, as well as three costs: capital, fuel as well as operation and maintenance (O\u0026M) costs. In each grid cell of the study area the stove with the highest net-benefit is chosen.\n\nOnStove produces scenarios depicting the “true” cost of clean cooking. The scenarios benefits and costs of produced by the tool are to be interpreted as the benefits and costs one could expect if the clean cooking transition was to happen now (overnight change). Results from OnStove are to be interpreted as an upper bound of net-benefits following a switch to cleaner stoves. OnStove can be used by planners and policy makers to identify whether various combinations of interventions in their settings would be worth the potential benefits that could be captured\n\n## Installation \nFirst, you need to install a python distribution using \n[Anaconda](https://www.anaconda.com/) or \n[Miniconda](https://docs.conda.io/en/latest/miniconda.html#) (recomended).\n\n### Installing with `conda`\nThe easiest way of installing and using `OnStove` is through `conda`. After installing a distribution of `conda`, \nOpen an `Anaconda Prompt` and run:\n```\n\u003e conda create -n onstove -c conda-forge onstove\n```\nNow you will have a new conda environment called `onstove` with `OnStove` installed on it. To use it open an `Anaconda Prompt`\nin the root folder of your analysis and activate the environment with:\n```\n\u003e conda activate onstove\n```\n\n### Downloading the source code and installing the environment (for advanced users)\nIf you rather download the development version of `OnStove` and install the development environment, open an `Anaconda Prompt`\nand download the source code with:\n```\n\u003e conda install git\n\u003e git clone https://github.com/Open-Source-Spatial-Clean-Cooking-Tool/OnStove.git\n```\nThen use the `jupyter_env.yaml` in the `envs` folder to install the environment by writing:\n```\n\u003e cd OnStove\n\u003e conda env create --name onstove --file envs/jupyter_env.yaml\n\u003e conda activate onstove\n```\n\nNow your environment `onstove` is available to use. Note that you need to activate it\nalways before conducting any analysis.\n\n## Documentation\nAccess the latest documentation in [read the docs](https://onstove-documentation.readthedocs.io/en/latest/?badge=latest).\n\n## Resources\n\n[Publication on sub-Saharan Africa](https://www.nature.com/articles/s41893-022-01039-8)\n\n## How to cite\n```\nKhavari, Babak, Camilo Ramirez, Marc Jeuland and Francesco Fuso Nerini (12 January 2023). \n\"A geospatial approach to understanding clean cooking challenges in sub-Saharan Africa\". \nNature Sustainability. 1–11. ISSN 2398-9629. doi:10.1038/s41893-022-01039-8. \nCreative Commons CC‑BY‑4.0 license.\n```\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.7185176"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/321885","html_url":"https://ost.ecosyste.ms/projects/321885"}