{"id":299951,"name":"CHAP","description":"Designed to be used by researchers and public health professionals to forecast and assess the impact of climate on health outcomes.","url":"https://github.com/dhis2-chap/chap-core","last_synced_at":"2026-06-10T00:30:20.904Z","repository":{"id":218729490,"uuid":"747181886","full_name":"dhis2-chap/chap-core","owner":"dhis2-chap","description":"The backend engine for the Chap Modeling Platform","archived":false,"fork":false,"pushed_at":"2026-06-03T09:41:43.000Z","size":53614,"stargazers_count":20,"open_issues_count":26,"forks_count":26,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-06-03T11:17:29.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://chap.dhis2.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhis2-chap.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":"2024-01-23T12:36:57.000Z","updated_at":"2026-06-03T09:35:15.000Z","dependencies_parsed_at":"2024-01-26T11:26:39.000Z","dependency_job_id":"2675323d-1be9-4e32-a63d-1ab589109096","html_url":"https://github.com/dhis2-chap/chap-core","commit_stats":{"total_commits":831,"total_committers":17,"mean_commits":48.88235294117647,"dds":0.4945848375451264,"last_synced_commit":"b3af93ed2c4241ce2d3f97d035dfa76a9c8b548b"},"previous_names":["sandvelab/climate_health","dhis2/chap-core","dhis2-chap/chap-core"],"tags_count":72,"template":false,"template_full_name":null,"purl":"pkg:github/dhis2-chap/chap-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhis2-chap","download_url":"https://codeload.github.com/dhis2-chap/chap-core/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33886160,"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-04T02:00:06.755Z","response_time":64,"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":"dhis2-chap","name":"dhis2-chap","uuid":"184943667","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/184943667?v=4","repositories_count":1,"last_synced_at":"2024-10-14T16:30:49.619Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/dhis2-chap","funding_links":[],"total_stars":9,"followers":0,"following":0,"created_at":"2024-10-14T16:30:50.884Z","updated_at":"2024-10-14T16:30:50.884Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhis2-chap","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhis2-chap/repositories"},"packages":[],"commits":{"id":3327169,"full_name":"dhis2-chap/chap-core","default_branch":"master","total_commits":2426,"total_committers":39,"total_bot_commits":24,"total_bot_committers":1,"mean_commits":62.205128205128204,"dds":0.6166529266281946,"past_year_total_commits":982,"past_year_total_committers":29,"past_year_total_bot_commits":24,"past_year_total_bot_committers":1,"past_year_mean_commits":33.86206896551724,"past_year_dds":0.7067209775967414,"last_synced_at":"2026-06-02T01:06:57.612Z","last_synced_commit":"30846b6a623a732c38164920821208585f19fe7d","created_at":"2024-10-14T16:30:15.544Z","updated_at":"2026-06-02T01:04:26.148Z","committers":[{"name":"Knut Rand","email":"knutdrand@gmail.com","login":"knutdrand","count":930},{"name":"Ivar Grytten","email":"ivar.grytten@gmail.com","login":"ivargr","count":573},{"name":"Morten Olav Hansen","email":"morten@winterop.com","login":"mortenoh","count":344},{"name":"Herman Tretteteig","email":"hermat@uio.no","login":"hermantretteteig","count":149},{"name":"Karim Bahgat","email":"karimba@uio.no","login":null,"count":55},{"name":"geirksa","email":"geirksa@ifi.uio.no","login":"sandve","count":42},{"name":"Sveinung Gundersen","email":"sveinugu@gmail.com","login":"sveinugu","count":38},{"name":"BumpVersion Action","email":"bumpversion@github-actions","login":null,"count":37},{"name":"Andreas Jensen","email":"andreas@dhis2.org","login":"tonsV2","count":37},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":24},{"name":"kanduric","email":"chakri.co@gmail.com","login":"KanduriC","count":23},{"name":"mmamica","email":"marimam@uio.no","login":"mmamica","count":20},{"name":"Lilu Zhan","email":"liluz@LiludeMacBook-Air-2.local","login":null,"count":19},{"name":"eirikhaugstulen","email":"eirik.haugstulen@gmail.com","login":"eirikhaugstulen","count":19},{"name":"ghadialhajj","email":"ghadi.alhajj8@gmail.com","login":"ghadialhajj","count":12},{"name":"Jeanne Cheneby","email":"jeannech@uio.no","login":"jCHENEBY","count":12},{"name":"Herman Tretteteig","email":"hermat@eduroam-193-157-205-67.wlan.uio.no","login":null,"count":12},{"name":"audunlas","email":"61903388+audunlas","login":"audunlas","count":11},{"name":"Markus B Slyngstad","email":"148983930+bsmarkus","login":"bsmarkus","count":10},{"name":"Charlotte-Wurtzen","email":"charlotte.wurtzen@gmail.com","login":"Charlotte-Wurtzen","count":8},{"name":"Boris Simovski","email":"boris.simovski@gmail.com","login":"borissim","count":8},{"name":"Halvard Emil Sand-Larsen","email":"halvar3005@outlook.com","login":"Halvardgithub","count":8},{"name":"Andre gregussen","email":"andregregussen@gmail.com","login":"AndreGregu","count":6},{"name":"Jen Jones Arnesen","email":"jennifer@dhis2.org","login":"jenniferarnesen","count":5},{"name":"Katalin Ferenc","email":"35810660+ferenckata","login":"ferenckata","count":4},{"name":"dgold","email":"dara.goldar@gmail.com","login":"daragoldar","count":3},{"name":"Abyot Asalefew Gizaw","email":"abyota@gmail.com","login":"abyot","count":3},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-198-231.wlan.uio.no","login":null,"count":2},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-168-2.wlan.uio.no","login":null,"count":2},{"name":"Karim Bahgat","email":"karim.bahgat.norway@gmail.com","login":"karimbahgat","count":1},{"name":"KarlHenrik","email":"karlfredly@gmail.com","login":"KarlHenrik","count":1},{"name":"Leander Parton","email":"101200779+Rednael18","login":"Rednael18","count":1},{"name":"Lilu Zhan","email":"liluzhan1228@gmail.com","login":"zlilu","count":1},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-207-219.wlan.uio.no","login":null,"count":1},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-192-144.wlan.uio.no","login":null,"count":1},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-168-167.wlan.uio.no","login":null,"count":1},{"name":"Herman Tretteteig","email":"hermat@eduroam-193-157-241-132.wlan.uio.no","login":null,"count":1},{"name":"Philip-Larsen-Donnelly","email":"35666657+Philip-Larsen-Donnelly","login":"Philip-Larsen-Donnelly","count":1},{"name":"jahnz","email":"jahn.zhong@medisin.uio.no","login":"jahnzh","count":1}],"past_year_committers":[{"name":"Morten Olav Hansen","email":"morten@winterop.com","login":"mortenoh","count":288},{"name":"knutdrand","email":"knutdrand@gmail.com","login":"knutdrand","count":253},{"name":"Ivar Grytten","email":"ivar.grytten@gmail.com","login":"ivargr","count":202},{"name":"Herman Tretteteig","email":"herman.tretteteig@hotmail.com","login":"hermantretteteig","count":55},{"name":"Andreas Jensen","email":"andreas@dhis2.org","login":"tonsV2","count":37},{"name":"geirksa","email":"geirksa@ifi.uio.no","login":"sandve","count":26},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":24},{"name":"Lilu Zhan","email":"liluz@LiludeMacBook-Air-2.local","login":null,"count":19},{"name":"Herman Tretteteig","email":"hermat@eduroam-193-157-205-67.wlan.uio.no","login":null,"count":12},{"name":"Markus B Slyngstad","email":"148983930+bsmarkus","login":"bsmarkus","count":10},{"name":"Boris Simovski","email":"boris.simovski@gmail.com","login":"borissim","count":8},{"name":"audun","email":"audunlas@gmail.com","login":"audunlas","count":7},{"name":"Andre gregussen","email":"andregregussen@gmail.com","login":"AndreGregu","count":6},{"name":"Jen Jones Arnesen","email":"jennifer@dhis2.org","login":"jenniferarnesen","count":5},{"name":"Eirik Haugstulen","email":"eirik.haugstulen@gmail.com","login":"eirikhaugstulen","count":5},{"name":"Halvard Emil Sand-Larsen","email":"halvar3005@outlook.com","login":"Halvardgithub","count":4},{"name":"Karim Bahgat","email":"karimba@uio.no","login":null,"count":4},{"name":"BumpVersion Action","email":"bumpversion@github-actions","login":null,"count":3},{"name":"Katalin Ferenc","email":"35810660+ferenckata","login":"ferenckata","count":2},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-168-2.wlan.uio.no","login":null,"count":2},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-198-231.wlan.uio.no","login":null,"count":2},{"name":"Philip-Larsen-Donnelly","email":"35666657+Philip-Larsen-Donnelly","login":"Philip-Larsen-Donnelly","count":1},{"name":"Herman Tretteteig","email":"hermat@eduroam-193-157-241-132.wlan.uio.no","login":null,"count":1},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-168-167.wlan.uio.no","login":null,"count":1},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-192-144.wlan.uio.no","login":null,"count":1},{"name":"Lilu Zhan","email":"liluz@eduroam-193-157-207-219.wlan.uio.no","login":null,"count":1},{"name":"Lilu Zhan","email":"liluzhan1228@gmail.com","login":"zlilu","count":1},{"name":"Leander Parton","email":"101200779+Rednael18","login":"Rednael18","count":1},{"name":"Karim Bahgat","email":"karim.bahgat.norway@gmail.com","login":"karimbahgat","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-04T00:00:08.235Z","repositories_count":6253496,"commits_count":884150819,"contributors_count":35039604,"owners_count":1162661,"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":"dhis2-chap/chap-core","html_url":"https://github.com/dhis2-chap/chap-core","last_synced_at":"2026-06-02T01:00:53.727Z","status":"active","issues_count":45,"pull_requests_count":173,"avg_time_to_close_issue":10774863.111111112,"avg_time_to_close_pull_request":681035.4375,"issues_closed_count":9,"pull_requests_closed_count":128,"pull_request_authors_count":22,"issue_authors_count":11,"avg_comments_per_issue":0.3333333333333333,"avg_comments_per_pull_request":0.36416184971098264,"merged_pull_requests_count":110,"bot_issues_count":0,"bot_pull_requests_count":12,"past_year_issues_count":22,"past_year_pull_requests_count":119,"past_year_avg_time_to_close_issue":2804664.0,"past_year_avg_time_to_close_pull_request":540549.4625,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":80,"past_year_pull_request_authors_count":18,"past_year_issue_authors_count":6,"past_year_avg_comments_per_issue":0.4090909090909091,"past_year_avg_comments_per_pull_request":0.3697478991596639,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":8,"past_year_merged_pull_requests_count":67,"created_at":"2024-10-14T16:30:24.312Z","updated_at":"2026-06-02T01:00:53.727Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2-chap%2Fchap-core/issues","issue_labels_count":{"enhancement":3,"modeling-app":1,"good first issue":1},"pull_request_labels_count":{"dependencies":12,"python:uv":8},"issue_author_associations_count":{"COLLABORATOR":30,"CONTRIBUTOR":8,"NONE":7},"pull_request_author_associations_count":{"CONTRIBUTOR":85,"COLLABORATOR":74,"NONE":14},"issue_authors":{"ivargr":11,"knutdrand":10,"sandve":5,"karimbahgat":5,"eirikhaugstulen":5,"hermantretteteig":3,"turban":2,"abyot":1,"mortenoh":1,"Nsarob":1,"iambodo":1},"pull_request_authors":{"mortenoh":53,"knutdrand":32,"ivargr":16,"eirikhaugstulen":16,"dependabot[bot]":12,"bsmarkus":6,"zlilu":6,"borissim":6,"karimbahgat":4,"abyot":4,"behdadnikkhah25":3,"KanduriC":2,"ferenckata":2,"hermantretteteig":2,"tonsV2":2,"jenniferarnesen":1,"edvinstava":1,"Halvardgithub":1,"AndreGregu":1,"radnov":1,"audunlas":1,"Rednael18":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-04T00:00:10.470Z","repositories_count":14751887,"issues_count":33344548,"pull_requests_count":110024878,"authors_count":11291046,"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":{"enhancement":1},"past_year_pull_request_labels_count":{"dependencies":8,"python:uv":8},"past_year_issue_author_associations_count":{"COLLABORATOR":18,"CONTRIBUTOR":3,"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":69,"COLLABORATOR":44,"NONE":6},"past_year_issue_authors":{"ivargr":7,"knutdrand":6,"sandve":5,"karimbahgat":2,"eirikhaugstulen":1,"Nsarob":1},"past_year_pull_request_authors":{"mortenoh":46,"knutdrand":24,"dependabot[bot]":8,"eirikhaugstulen":7,"zlilu":6,"borissim":6,"bsmarkus":6,"behdadnikkhah25":3,"tonsV2":2,"ferenckata":2,"ivargr":2,"Rednael18":1,"radnov":1,"jenniferarnesen":1,"Halvardgithub":1,"edvinstava":1,"audunlas":1,"AndreGregu":1},"maintainers":[{"login":"knutdrand","count":42,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/knutdrand"},{"login":"ivargr","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ivargr"},{"login":"zlilu","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zlilu"},{"login":"borissim","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/borissim"},{"login":"sandve","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sandve"},{"login":"abyot","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/abyot"},{"login":"hermantretteteig","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hermantretteteig"},{"login":"ferenckata","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ferenckata"},{"login":"tonsV2","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tonsV2"},{"login":"KanduriC","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/KanduriC"},{"login":"Halvardgithub","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Halvardgithub"},{"login":"audunlas","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/audunlas"}],"active_maintainers":[{"login":"knutdrand","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/knutdrand"},{"login":"ivargr","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ivargr"},{"login":"borissim","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/borissim"},{"login":"zlilu","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zlilu"},{"login":"sandve","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sandve"},{"login":"ferenckata","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ferenckata"},{"login":"tonsV2","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tonsV2"},{"login":"audunlas","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/audunlas"},{"login":"Halvardgithub","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Halvardgithub"}]},"events":{"total":{"ReleaseEvent":11,"DeleteEvent":82,"MemberEvent":6,"PullRequestEvent":144,"ForkEvent":8,"IssuesEvent":50,"WatchEvent":8,"IssueCommentEvent":30,"PushEvent":1704,"PullRequestReviewEvent":28,"PullRequestReviewCommentEvent":27,"GollumEvent":24,"CreateEvent":159},"last_year":{"ReleaseEvent":5,"DeleteEvent":73,"MemberEvent":1,"PullRequestEvent":97,"ForkEvent":5,"IssuesEvent":24,"WatchEvent":2,"IssueCommentEvent":13,"PushEvent":814,"PullRequestReviewEvent":7,"PullRequestReviewCommentEvent":6,"GollumEvent":2,"CreateEvent":120}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build_sphinx_website.yml.disabled","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:32.560Z","updated_at":"2024-01-26T11:26:32.560Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/.github/workflows/build_sphinx_website.yml.disabled","dependencies":[{"id":15842157779,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":15842157780,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/bumpversion.yml.disabled","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:35.209Z","updated_at":"2024-01-26T11:26:35.209Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/.github/workflows/bumpversion.yml.disabled","dependencies":[{"id":15842158211,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":15842158212,"package_name":"jasonamyers/github-bumpversion-action","ecosystem":"actions","requirements":"v1.0.5","direct":true,"kind":"composite","optional":false},{"id":15842158214,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/manuscript.yml.disabled","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:35.395Z","updated_at":"2024-01-26T11:26:35.395Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/.github/workflows/manuscript.yml.disabled","dependencies":[{"id":15842158215,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15842158216,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15842158217,"package_name":"snakemake/snakemake-github-action","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":15842158226,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/push-to-pypi.yml.disabled","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:37.908Z","updated_at":"2024-01-26T11:26:37.908Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/.github/workflows/push-to-pypi.yml.disabled","dependencies":[{"id":15842158729,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15842158730,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15842158731,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/python-install-and-test.yml","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:38.714Z","updated_at":"2024-01-26T11:26:38.714Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/.github/workflows/python-install-and-test.yml","dependencies":[{"id":15842158732,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":15842158733,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements_dev.txt","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:38.816Z","updated_at":"2024-01-26T11:26:38.816Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/requirements_dev.txt","dependencies":[{"id":15842158734,"package_name":"pip","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158735,"package_name":"bump2version","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158736,"package_name":"wheel","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158737,"package_name":"Sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158738,"package_name":"typer","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158739,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158740,"package_name":"hypothesis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158741,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158742,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158743,"package_name":"build","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158744,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":15842158745,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-01-26T11:26:38.913Z","updated_at":"2024-01-26T11:26:38.913Z","repository_link":"https://github.com/dhis2-chap/chap-core/blob/master/setup.py","dependencies":[]}],"score":7.492203042618741,"created_at":"2024-09-11T00:13:16.660Z","updated_at":"2026-06-10T00:30:20.905Z","avatar_url":"https://github.com/dhis2-chap.png","language":"Python","category":"Climate Change","sub_category":"Climate Data Processing and Analysis","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Welcome to the Chap modelling platform!\n\n[![CI](https://github.com/dhis2-chap/chap-core/actions/workflows/ci-test-python-install.yml/badge.svg)](https://github.com/dhis2-chap/chap-core/actions/workflows/ci-test-python-install.yml)\n[![PyPI version](https://img.shields.io/pypi/v/chap-core)](https://pypi.org/project/chap-core/)\n[![Python 3.13+](https://img.shields.io/badge/python-3.13+-blue.svg)](https://www.python.org/downloads/)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![Documentation](https://img.shields.io/badge/docs-mkdocs-blue.svg)](https://chap.dhis2.org/chap-modeling-platform/)\n\nThis is the main repository for the Chap modelling platform.\n\n[Read more about the Chap project here](https://chap.dhis2.org/about/)\n\n## Code documentation\n\nThe main documentation for the modelling platform is located at [https://chap.dhis2.org/chap-modeling-platform/](https://chap.dhis2.org/chap-modeling-platform/).\n\n## Development / contribution\n\nInformation about how to contribute to the Chap Modelling Platform: [https://chap.dhis2.org/chap-modeling-platform/contributor/](https://chap.dhis2.org/chap-modeling-platform/contributor/).\n\n## Issues/Bugs\n\nIf you find any bugs or issues when using this code base, we appreciate it if you file a bug report here: https://github.com/dhis2-chap/chap-core/issues/new\n\n## Launch development instance using Docker\n\n```shell\ncp .env.example .env\ndocker compose up\n```\n\n### Rebuilding after a source change\n\n`docker compose up` will reuse an existing `chap-core-chap` image if one is\nalready built — it does not automatically rebuild when you edit source. If\nyou see a stale `chap_core.__version__` or a fix that clearly didn't land\ninside the running container, use one of:\n\n```shell\nmake restart       # down \u0026\u0026 up -d --build (preserves volumes incl. chap-db)\nmake force-restart # down -v \u0026\u0026 build --no-cache \u0026\u0026 up (WIPES VOLUMES)\nmake chap-version  # print the chap_core version running inside the container\n```\n\n`make restart` is the right hammer 90% of the time. `make force-restart`\nalso wipes the Postgres volume, so reach for it only when you need a clean\nslate. `make chap-version` is also printed automatically at the end of\n`make restart` so version drift is visible at a glance.\n\n### Running with chapkit model overlays\n\nChapkit-based models ship as opt-in compose overlays. Layer one onto\n`compose.yml` (not `compose.ghcr.yml` — those two are alternatives, not\nstackable) to run chap-core with the chapkit services already\nself-registered.\n\nThe recommended overlay is `compose.chapkit.yml`, an umbrella file that\nincludes every chapkit-converted model. As more models are converted to\nchapkit, they get added here so a single `-f` flag pulls them all in:\n\n```shell\ndocker compose -f compose.yml -f compose.chapkit.yml up -d\n```\n\nIf you only want the EWARS service, use the single-model overlay\n`compose.ewars.yml` instead:\n\n```shell\ndocker compose -f compose.yml -f compose.ewars.yml up -d\n```\n\n## Deploy on Kubernetes\n\nCHAP can be deployed on Kubernetes using our helm chart which can be found [here](./charts/chap).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["bioinformatics"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/299951","html_url":"https://ost.ecosyste.ms/projects/299951"}