{"id":19916,"name":"Temoa","description":"Tools for Energy Model Optimization and Analysis (Temoa) is an open source modeling framework for conducting energy system analysis.","url":"https://github.com/TemoaProject/temoa","last_synced_at":"2026-04-07T00:30:23.005Z","repository":{"id":25632711,"uuid":"29068024","full_name":"TemoaProject/temoa","owner":"TemoaProject","description":"Tools for Energy Model Optimization and Analysis","archived":false,"fork":false,"pushed_at":"2026-03-17T15:55:34.000Z","size":45857,"stargazers_count":96,"open_issues_count":45,"forks_count":61,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-03-19T03:03:08.246Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.temoaproject.org/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hunteke/temoa","license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TemoaProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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":"2015-01-10T19:22:06.000Z","updated_at":"2026-03-16T20:48:35.000Z","dependencies_parsed_at":"2026-02-20T02:03:47.030Z","dependency_job_id":null,"html_url":"https://github.com/TemoaProject/temoa","commit_stats":{"total_commits":849,"total_committers":25,"mean_commits":33.96,"dds":0.7467608951707891,"last_synced_commit":"d500c1fc2890edb0f8433b173c22bcc10394fd5c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/TemoaProject/temoa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30829236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-22T05:45:47.827Z","status":"ssl_error","status_checked_at":"2026-03-22T05:45:39.030Z","response_time":85,"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":"TemoaProject","name":"An open source energy system model","uuid":"10479169","kind":"user","description":null,"email":"","website":"http://temoaproject.org","location":"Raleigh, NC","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/10479169?u=d02dfcc3f3ab7a2d8b7ba671b9e0ffd7511c786f\u0026v=4","repositories_count":5,"last_synced_at":"2024-06-11T15:59:18.499Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/TemoaProject","funding_links":[],"total_stars":129,"followers":56,"following":0,"created_at":"2022-11-10T23:58:08.410Z","updated_at":"2024-06-11T15:59:19.760Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject/repositories"},"packages":[{"id":4148548,"name":"github.com/temoaproject/temoa","ecosystem":"go","description":"","homepage":null,"licenses":"gpl-2.0","normalized_licenses":["GPL-2.0"],"repository_url":"https://github.com/temoaproject/temoa","keywords_array":[],"namespace":"github.com/temoaproject","versions_count":8,"first_release_published_at":"2018-01-09T03:07:05.000Z","latest_release_published_at":"2020-06-17T17:53:49.000Z","latest_release_number":"v1.6.0","last_synced_at":"2026-03-28T20:02:26.684Z","created_at":"2022-04-12T16:55:25.110Z","updated_at":"2026-03-28T20:02:26.684Z","registry_url":"https://pkg.go.dev/github.com/temoaproject/temoa","install_command":"go get github.com/temoaproject/temoa","documentation_url":"https://pkg.go.dev/github.com/temoaproject/temoa#section-documentation","metadata":{},"repo_metadata":{"id":25632711,"uuid":"29068024","full_name":"TemoaProject/temoa","owner":"TemoaProject","description":"Tools for Energy Model Optimization and Analysis","archived":false,"fork":false,"pushed_at":"2025-10-15T14:42:52.000Z","size":57385,"stargazers_count":92,"open_issues_count":3,"forks_count":61,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-10-16T01:10:13.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://temoacloud.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hunteke/temoa","license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TemoaProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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":"2015-01-10T19:22:06.000Z","updated_at":"2025-10-13T13:35:29.000Z","dependencies_parsed_at":"2023-09-21T19:15:12.660Z","dependency_job_id":"3ecb33c9-b3ed-46ab-93ca-a6c90ba073cc","html_url":"https://github.com/TemoaProject/temoa","commit_stats":{"total_commits":849,"total_committers":25,"mean_commits":33.96,"dds":0.7467608951707891,"last_synced_commit":"d500c1fc2890edb0f8433b173c22bcc10394fd5c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/TemoaProject/temoa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279420992,"owners_count":26167181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-17T02:00:07.504Z","response_time":56,"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":"TemoaProject","name":"An open source energy system model","uuid":"10479169","kind":"user","description":null,"email":"","website":"http://temoaproject.org","location":"Raleigh, NC","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/10479169?u=d02dfcc3f3ab7a2d8b7ba671b9e0ffd7511c786f\u0026v=4","repositories_count":5,"last_synced_at":"2024-06-11T15:59:18.499Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/TemoaProject","funding_links":[],"total_stars":129,"followers":56,"following":0,"created_at":"2022-11-10T23:58:08.410Z","updated_at":"2024-06-11T15:59:19.760Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-11-07T23:09:52.374Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/temoaproject/temoa","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/temoaproject/temoa","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/temoaproject/temoa","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/temoaproject/temoa/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-17T21:00:19.528Z","issues_count":18,"pull_requests_count":194,"avg_time_to_close_issue":43522222.9375,"avg_time_to_close_pull_request":2544001.8051948054,"issues_closed_count":16,"pull_requests_closed_count":154,"pull_request_authors_count":15,"issue_authors_count":12,"avg_comments_per_issue":1.5555555555555556,"avg_comments_per_pull_request":0.4639175257731959,"merged_pull_requests_count":125,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":98,"past_year_avg_time_to_close_issue":4911.0,"past_year_avg_time_to_close_pull_request":1629446.375,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":64,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.3333333333333333,"past_year_avg_comments_per_pull_request":0.6632653061224489,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":62,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/issues","maintainers":[{"login":"SutubraResearch","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"ParticularlyPythonicBS","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"TemoaProject","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TemoaProject"},{"login":"iankurgarg","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/iankurgarg"}],"active_maintainers":[{"login":"ParticularlyPythonicBS","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftemoaproject%2Ftemoa/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftemoaproject%2Ftemoa/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftemoaproject%2Ftemoa/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftemoaproject%2Ftemoa/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftemoaproject%2Ftemoa/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2083879,"maintainers_count":0,"namespaces_count":778337,"keywords_count":0,"github":"golang","metadata":{"funded_packages_count":53388},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-01T06:07:14.682Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":12672006,"name":"temoa","ecosystem":"pypi","description":"Tools for Energy Model Optimization and Analysis","homepage":"https://temoaproject.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/TemoaProject/temoa","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2026-01-07T19:54:18.000Z","latest_release_published_at":"2026-01-07T19:54:19.000Z","latest_release_number":"4.0.0a1.dev20251201","last_synced_at":"2026-03-28T20:02:25.189Z","created_at":"2026-01-10T20:11:05.728Z","updated_at":"2026-03-28T20:02:38.590Z","registry_url":"https://pypi.org/project/temoa/","install_command":"pip install temoa --index-url https://pypi.org/simple","documentation_url":"https://temoaproject.github.io/temoa","metadata":{"funding":null,"documentation":"https://temoaproject.github.io/temoa","classifiers":[],"normalized_name":"temoa","project_status":null},"repo_metadata":{"id":25632711,"uuid":"29068024","full_name":"TemoaProject/temoa","owner":"TemoaProject","description":"Tools for Energy Model Optimization and Analysis","archived":false,"fork":false,"pushed_at":"2026-03-17T15:55:34.000Z","size":45857,"stargazers_count":96,"open_issues_count":45,"forks_count":61,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-03-19T03:03:08.246Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.temoaproject.org/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hunteke/temoa","license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TemoaProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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":"2015-01-10T19:22:06.000Z","updated_at":"2026-03-16T20:48:35.000Z","dependencies_parsed_at":"2026-02-20T02:03:47.030Z","dependency_job_id":null,"html_url":"https://github.com/TemoaProject/temoa","commit_stats":{"total_commits":849,"total_committers":25,"mean_commits":33.96,"dds":0.7467608951707891,"last_synced_commit":"d500c1fc2890edb0f8433b173c22bcc10394fd5c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/TemoaProject/temoa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30829236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-22T05:45:47.827Z","status":"ssl_error","status_checked_at":"2026-03-22T05:45:39.030Z","response_time":85,"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_record":{"login":"TemoaProject","name":"An open source energy system model","uuid":"10479169","kind":"user","description":null,"email":"","website":"http://temoaproject.org","location":"Raleigh, NC","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/10479169?u=d02dfcc3f3ab7a2d8b7ba671b9e0ffd7511c786f\u0026v=4","repositories_count":5,"last_synced_at":"2024-06-11T15:59:18.499Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/TemoaProject","funding_links":[],"total_stars":129,"followers":56,"following":0,"created_at":"2022-11-10T23:58:08.410Z","updated_at":"2024-06-11T15:59:19.760Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TemoaProject/repositories"},"tags":[{"name":"v3.0","sha":"1f7444d621e2fa8c0bf5e9f904cec8c0d9ef75b3","kind":"commit","published_at":"2024-11-19T13:45:47.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v3.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v3.0/manifests"},{"name":"v2.0","sha":"d500c1fc2890edb0f8433b173c22bcc10394fd5c","kind":"commit","published_at":"2022-11-06T14:18:05.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v2.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v2.0/manifests"},{"name":"v1.6.0","sha":"a6cb5041a9fc0269e96260b7f2ae35c17bdda537","kind":"tag","published_at":"2020-06-17T18:10:16.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.6.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"efab2978f768c09f42d4800eaad974b19e7f23df","kind":"tag","published_at":"2020-02-02T03:02:25.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.5.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"def04c8478d73fa1e54b15cd4840a65fffecd0f1","kind":"tag","published_at":"2019-11-03T12:18:59.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.4.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"9f212aca75691841eb11703758a01335adda02e0","kind":"tag","published_at":"2019-07-30T23:25:32.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.3.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"9e3945dc1eba2afa0cc26ac60fd94cf2c1753fb9","kind":"tag","published_at":"2018-08-01T11:19:11.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.2.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"2d75877f79b7c32e86fc38537ee67eb22f6ea613","kind":"tag","published_at":"2018-08-01T11:06:19.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.1.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"9304580180132abf80737a4ccd6a5acacd255a13","kind":"commit","published_at":"2018-03-05T14:48:36.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.0.1","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"364d5ef5db8751b2335b106f25e0bef6196e51bf","kind":"commit","published_at":"2018-01-09T03:07:05.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.0.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.0.0/manifests"},{"name":"v1.0","sha":"364d5ef5db8751b2335b106f25e0bef6196e51bf","kind":"commit","published_at":"2018-01-09T03:07:05.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v1.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v1.0/manifests"}]},"repo_metadata_updated_at":"2026-03-28T20:02:38.589Z","dependent_packages_count":0,"downloads":63,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":18.223507503450044,"dependent_repos_count":44.289547737052864,"dependent_packages_count":7.833515199535896,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":23.448856813346268},"purl":"pkg:pypi/temoa","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/temoa","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/temoa","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/temoa/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-26T19:03:57.301Z","issues_count":23,"pull_requests_count":239,"avg_time_to_close_issue":39373175.722222224,"avg_time_to_close_pull_request":2230791.3204419888,"issues_closed_count":18,"pull_requests_closed_count":181,"pull_request_authors_count":17,"issue_authors_count":14,"avg_comments_per_issue":2.130434782608696,"avg_comments_per_pull_request":0.6694560669456067,"merged_pull_requests_count":148,"bot_issues_count":1,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":136,"past_year_avg_time_to_close_issue":4122169.0,"past_year_avg_time_to_close_pull_request":858860.9647058824,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":85,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":3.142857142857143,"past_year_avg_comments_per_pull_request":0.9632352941176471,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":81,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/issues","maintainers":[{"login":"ParticularlyPythonicBS","count":38,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"},{"login":"TemoaProject","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TemoaProject"},{"login":"iankurgarg","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/iankurgarg"}],"active_maintainers":[{"login":"ParticularlyPythonicBS","count":38,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/temoa/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/temoa/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/temoa/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/temoa/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/temoa/codemeta","maintainers":[{"uuid":"jfdecarolis","login":"jfdecarolis","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/jfdecarolis/","role":"Owner","created_at":"2026-02-20T02:01:57.748Z","updated_at":"2026-02-20T02:01:57.748Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jfdecarolis/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":830323,"maintainers_count":354405,"namespaces_count":0,"keywords_count":0,"github":"pypi","metadata":{"funded_packages_count":52946},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-01T06:27:22.786Z","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":1253986,"full_name":"TemoaProject/temoa","default_branch":"main","total_commits":1297,"total_committers":29,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":44.724137931034484,"dds":0.7101002313030069,"past_year_total_commits":3,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.5,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-03-28T20:06:36.695Z","last_synced_commit":"9f553273c2dabc74ed85b023dc98b3a4ddff1b2f","created_at":"2023-03-27T10:49:36.191Z","updated_at":"2026-03-28T20:02:53.939Z","committers":[{"name":"Jeff H","email":"jeff@westernspark.us","login":"jeff-ws","count":376},{"name":"Kevin Hunter","email":"hunteke@earlham.edu","login":null,"count":215},{"name":"jdecarolis","email":"jdecarolis@gmail.com","login":"jdecarolis","count":192},{"name":"kevin","email":"kevin@3acdfd15-2c5e-48eb-ba72-2386a29e86c2","login":null,"count":144},{"name":"Aranya Venkatesh","email":"40495316+aranyavenkatesh","login":"aranyavenkatesh","count":82},{"name":"Cameron Wade","email":"cameron@sutubra.ca","login":"SutubraResearch","count":62},{"name":"binghui89","email":"bli6@ncsu.edu","login":"binghui89","count":40},{"name":"Ankur Garg","email":"contactankurgarg@gmail.com","login":"iankurgarg","count":37},{"name":"spkanung","email":"suyashkanungo@gmail.com","login":"spkanung","count":35},{"name":"Hadi Eshraghi","email":"heshrag@ncsu.edu","login":"hadieshraghi","count":31},{"name":"Hadi Eshraghi","email":"EnergyMan@Hadis-MacBook-Pro-2.local","login":null,"count":28},{"name":"Joseph Decarolis","email":"jdecarolis@l-jfdecaro-1.local","login":null,"count":8},{"name":"An open source energy system model","email":"jdecarolis@ncsu.edu","login":"TemoaProject","count":7},{"name":"Katie Jordan","email":"55712134+kathjordan","login":"kathjordan","count":7},{"name":"spkanung","email":"spkanung@ncsu.edu","login":null,"count":6},{"name":"Daniel Huppmann","email":"dh@dergelbesalon.at","login":"danielhuppmann","count":5},{"name":"Anderson Rodrigo de Queiroz","email":"arqueiroz@Andersons-MacBook-Pro.local","login":null,"count":4},{"name":"ParticularlyPythonicBS","email":"anil@anilr.dev","login":"ParticularlyPythonicBS","count":2},{"name":"root","email":"contactankurgarg@mgmail.com","login":null,"count":2},{"name":"jdecarolis","email":"jdecarolis@3acdfd15-2c5e-48eb-ba72-2386a29e86c2","login":null,"count":2},{"name":"Suyash","email":"suyash@Samudras-iMac.local","login":null,"count":2},{"name":"Joseph Decarolis","email":"jdecarolis@l-jfdecaro-01.ce.ncsu.edu","login":null,"count":2},{"name":"Davey Elder","email":"ian.elder@mail.utoronto.ca","login":null,"count":2},{"name":"A. Rodrigo de Queiroz","email":"ar_queiroz@Rodrigo-MacBook-Pro.local","login":null,"count":1},{"name":"Binghui Li","email":"bli@Binghuis-MacBook-Pro.local","login":null,"count":1},{"name":"Jeff Thomas","email":"jtthoma3@ccee-hpc.ce.ncsu.edu","login":null,"count":1},{"name":"tesadmin","email":"tesadmin@test.temoacloud.com","login":null,"count":1},{"name":"Yash Pal","email":"yash@samitsolutions.com","login":"yashsamit","count":1},{"name":"mikeblackhurst","email":"156846042+mikeblackhurst","login":"mikeblackhurst","count":1}],"past_year_committers":[{"name":"ParticularlyPythonicBS","email":"anil@anilr.dev","login":"ParticularlyPythonicBS","count":2},{"name":"Jeff","email":"143133373+jeff-ws","login":"jeff-ws","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-01T00:00:08.934Z","repositories_count":6208308,"commits_count":927030135,"contributors_count":35789893,"owners_count":1144003,"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":"TemoaProject/temoa","html_url":"https://github.com/TemoaProject/temoa","last_synced_at":"2026-03-29T16:00:26.843Z","status":null,"issues_count":23,"pull_requests_count":241,"avg_time_to_close_issue":39373175.722222224,"avg_time_to_close_pull_request":2237113.6666666665,"issues_closed_count":18,"pull_requests_closed_count":183,"pull_request_authors_count":17,"issue_authors_count":14,"avg_comments_per_issue":2.130434782608696,"avg_comments_per_pull_request":0.6721991701244814,"merged_pull_requests_count":150,"bot_issues_count":1,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":138,"past_year_avg_time_to_close_issue":4122169.0,"past_year_avg_time_to_close_pull_request":903698.3218390804,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":87,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":3.142857142857143,"past_year_avg_comments_per_pull_request":0.9637681159420289,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":83,"created_at":"2023-05-09T10:38:50.289Z","updated_at":"2026-03-29T16:00:26.874Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/issues","issue_labels_count":{"Maintenance":1,"bug":1},"pull_request_labels_count":{"Maintenance":15,"Feature":8,"bugfix":8,"docs":6,"refactor":5,"enhancement":5,"type-safety":4,"database-schema":3,"Infra":2,"model_changes":2,"LICENSE":1,"bug":1},"issue_author_associations_count":{"NONE":14,"COLLABORATOR":5,"MEMBER":2,"OWNER":2},"pull_request_author_associations_count":{"NONE":166,"COLLABORATOR":42,"MEMBER":30,"CONTRIBUTOR":2,"OWNER":1},"issue_authors":{"idelder":3,"gschivley":3,"samgdotson":3,"TemoaProject":2,"ParticularlyPythonicBS":2,"SutubraResearch":2,"coderabbitai[bot]":1,"christiancodes":1,"Riccardo-sus":1,"EnergyModels":1,"DJDIAA":1,"AaronHolm":1,"codeyash":1,"jdecarolis":1},"pull_request_authors":{"idelder":82,"jeff-ws":63,"ParticularlyPythonicBS":42,"SutubraResearch":27,"kathjordan":5,"aranyavenkatesh":5,"jdecarolis":3,"matteo-nicoli":3,"PatwaUmang":2,"danielhuppmann":2,"kerodkibatu":1,"iankurgarg":1,"TemoaProject":1,"yashsamit":1,"samgdotson":1,"gschivley":1,"hadieshraghi":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-01T00:00:08.271Z","repositories_count":14036339,"issues_count":34426332,"pull_requests_count":112600568,"authors_count":11214974,"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":{"Maintenance":1,"bug":1},"past_year_pull_request_labels_count":{"Maintenance":15,"Feature":8,"bugfix":8,"docs":6,"refactor":5,"enhancement":5,"type-safety":4,"database-schema":3,"Infra":2,"model_changes":2,"LICENSE":1,"bug":1},"past_year_issue_author_associations_count":{"COLLABORATOR":3,"MEMBER":2,"NONE":2},"past_year_pull_request_author_associations_count":{"NONE":81,"MEMBER":30,"COLLABORATOR":22,"CONTRIBUTOR":2},"past_year_issue_authors":{"idelder":3,"ParticularlyPythonicBS":2,"coderabbitai[bot]":1,"jdecarolis":1},"past_year_pull_request_authors":{"idelder":80,"ParticularlyPythonicBS":39,"SutubraResearch":8,"jeff-ws":4,"jdecarolis":3,"kerodkibatu":1},"maintainers":[{"login":"ParticularlyPythonicBS","count":39,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"},{"login":"TemoaProject","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/TemoaProject"},{"login":"iankurgarg","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/iankurgarg"}],"active_maintainers":[{"login":"ParticularlyPythonicBS","count":39,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"}]},"events":{"total":{"ReleaseEvent":1,"DeleteEvent":42,"MemberEvent":1,"PullRequestEvent":155,"ForkEvent":8,"IssuesEvent":25,"WatchEvent":14,"IssueCommentEvent":83,"PushEvent":228,"PullRequestReviewEvent":187,"PullRequestReviewCommentEvent":382,"CreateEvent":43},"last_year":{"DeleteEvent":42,"MemberEvent":1,"PullRequestEvent":150,"ForkEvent":6,"IssuesEvent":24,"WatchEvent":9,"IssueCommentEvent":81,"PushEvent":225,"PullRequestReviewEvent":187,"PullRequestReviewCommentEvent":382,"CreateEvent":42}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/deploy-nightly.yml","sha":null,"kind":"manifest","created_at":"2026-02-20T02:02:03.216Z","updated_at":"2026-02-20T02:02:03.216Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/.github/workflows/deploy-nightly.yml","dependencies":[]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2026-02-20T02:02:03.313Z","updated_at":"2026-02-20T02:02:03.313Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/environment.yml","dependencies":[{"id":25822158319,"package_name":"python","ecosystem":"conda","requirements":"3.12","direct":true,"kind":"runtime","optional":false},{"id":25822158320,"package_name":"pyomo","ecosystem":"conda","requirements":"6.7","direct":true,"kind":"runtime","optional":false},{"id":25822158321,"package_name":"xlwt","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158384,"package_name":"ipython","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158395,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158400,"package_name":"pandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158405,"package_name":"numpy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158408,"package_name":"scipy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158410,"package_name":"joblib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158411,"package_name":"salib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158412,"package_name":"pydoe","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158413,"package_name":"pyutilib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158415,"package_name":"python-graphviz","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158417,"package_name":"ipykernel","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158423,"package_name":"jupyter","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158424,"package_name":"jupyter_contrib_nbextensions","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158425,"package_name":"seaborn","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158426,"package_name":"tabulate","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158428,"package_name":"xlsxwriter","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158429,"package_name":"plotly","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158438,"package_name":"pyam","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158440,"package_name":"pytest","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158441,"package_name":"deprecated","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158442,"package_name":"openpyxl","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158444,"package_name":"networkx","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158445,"package_name":"gravis","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158449,"package_name":"gurobi","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158456,"package_name":"sphinx","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158457,"package_name":"sphinx_rtd_theme","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158458,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158459,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25822158460,"package_name":"sphinxcontrib-bibtex","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-02-20T02:03:19.661Z","updated_at":"2026-02-20T02:03:19.661Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"pypi","filepath":"requirements.in","sha":null,"kind":"manifest","created_at":"2026-02-20T02:03:30.828Z","updated_at":"2026-02-20T02:03:30.828Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/requirements.in","dependencies":[{"id":25822163831,"package_name":"pyomo","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163846,"package_name":"ipython","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163847,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163848,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163849,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163850,"package_name":"joblib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163851,"package_name":"salib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163863,"package_name":"pydoe","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163890,"package_name":"pyutilib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163905,"package_name":"graphviz","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163929,"package_name":"ipykernel","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163934,"package_name":"jupyter","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163935,"package_name":"jupyter_contrib_nbextensions","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163960,"package_name":"seaborn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163964,"package_name":"tabulate","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163987,"package_name":"xlsxwriter","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822163999,"package_name":"plotly","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164000,"package_name":"pyam-iamc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164044,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164045,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164091,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164092,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164093,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164105,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164106,"package_name":"Deprecated","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164165,"package_name":"openpyxl","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164182,"package_name":"networkx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164183,"package_name":"gravis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164184,"package_name":"highspy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164281,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822164302,"package_name":"gurobipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"lockfile","created_at":"2026-02-20T02:03:34.936Z","updated_at":"2026-02-20T02:03:34.936Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/requirements.txt","dependencies":[{"id":25822164572,"package_name":"flexcache","ecosystem":"pypi","requirements":"==0.3","direct":false,"kind":"runtime","optional":false},{"id":25822164574,"package_name":"flexparser","ecosystem":"pypi","requirements":"==0.3.1","direct":false,"kind":"runtime","optional":false},{"id":25822164584,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.53.1","direct":false,"kind":"runtime","optional":false},{"id":25822164586,"package_name":"fqdn","ecosystem":"pypi","requirements":"==1.5.1","direct":false,"kind":"runtime","optional":false},{"id":25822164587,"package_name":"graphviz","ecosystem":"pypi","requirements":"==0.20.3","direct":false,"kind":"runtime","optional":false},{"id":25822164588,"package_name":"gravis","ecosystem":"pypi","requirements":"==0.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822164589,"package_name":"gurobipy","ecosystem":"pypi","requirements":"==11.0.3","direct":false,"kind":"runtime","optional":false},{"id":25822164590,"package_name":"h11","ecosystem":"pypi","requirements":"==0.14.0","direct":false,"kind":"runtime","optional":false},{"id":25822164591,"package_name":"h2","ecosystem":"pypi","requirements":"==4.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822164619,"package_name":"highspy","ecosystem":"pypi","requirements":"==1.7.2","direct":false,"kind":"runtime","optional":false},{"id":25822164620,"package_name":"hpack","ecosystem":"pypi","requirements":"==4.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822164642,"package_name":"httpcore","ecosystem":"pypi","requirements":"==1.0.5","direct":false,"kind":"runtime","optional":false},{"id":25822164643,"package_name":"httpx","ecosystem":"pypi","requirements":"==0.27.2","direct":false,"kind":"runtime","optional":false},{"id":25822164644,"package_name":"hyperframe","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":25822164645,"package_name":"iam-units","ecosystem":"pypi","requirements":"==2023.9.12","direct":false,"kind":"runtime","optional":false},{"id":25822164646,"package_name":"idna","ecosystem":"pypi","requirements":"==3.8","direct":false,"kind":"runtime","optional":false},{"id":25822164647,"package_name":"imagesize","ecosystem":"pypi","requirements":"==1.4.1","direct":false,"kind":"runtime","optional":false},{"id":25822164648,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822164649,"package_name":"ipykernel","ecosystem":"pypi","requirements":"==6.29.5","direct":false,"kind":"runtime","optional":false},{"id":25822164650,"package_name":"ipython","ecosystem":"pypi","requirements":"==8.26.0","direct":false,"kind":"runtime","optional":false},{"id":25822164651,"package_name":"ipython-genutils","ecosystem":"pypi","requirements":"==0.2.0","direct":false,"kind":"runtime","optional":false},{"id":25822164694,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"==8.1.5","direct":false,"kind":"runtime","optional":false},{"id":25822164695,"package_name":"isoduration","ecosystem":"pypi","requirements":"==20.11.0","direct":false,"kind":"runtime","optional":false},{"id":25822164698,"package_name":"ixmp4","ecosystem":"pypi","requirements":"==0.9.2","direct":false,"kind":"runtime","optional":false},{"id":25822164699,"package_name":"jedi","ecosystem":"pypi","requirements":"==0.19.1","direct":false,"kind":"runtime","optional":false},{"id":25822164709,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.4","direct":false,"kind":"runtime","optional":false},{"id":25822164710,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.4.2","direct":false,"kind":"runtime","optional":false},{"id":25822164711,"package_name":"json5","ecosystem":"pypi","requirements":"==0.9.25","direct":false,"kind":"runtime","optional":false},{"id":25822164712,"package_name":"jsonpointer","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822164713,"package_name":"jsonschema","ecosystem":"pypi","requirements":"==4.23.0","direct":false,"kind":"runtime","optional":false},{"id":25822164714,"package_name":"jsonschema-specifications","ecosystem":"pypi","requirements":"==2023.12.1","direct":false,"kind":"runtime","optional":false},{"id":25822164715,"package_name":"jupyter","ecosystem":"pypi","requirements":"==1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822164716,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"==8.6.2","direct":false,"kind":"runtime","optional":false},{"id":25822164724,"package_name":"jupyter-console","ecosystem":"pypi","requirements":"==6.6.3","direct":false,"kind":"runtime","optional":false},{"id":25822164732,"package_name":"jupyter-contrib-core","ecosystem":"pypi","requirements":"==0.4.2","direct":false,"kind":"runtime","optional":false},{"id":25822164745,"package_name":"jupyter-contrib-nbextensions","ecosystem":"pypi","requirements":"==0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25822164763,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"==5.7.2","direct":false,"kind":"runtime","optional":false},{"id":25822164797,"package_name":"jupyter-events","ecosystem":"pypi","requirements":"==0.10.0","direct":false,"kind":"runtime","optional":false},{"id":25822164819,"package_name":"jupyter-highlight-selected-word","ecosystem":"pypi","requirements":"==0.2.0","direct":false,"kind":"runtime","optional":false},{"id":25822164834,"package_name":"jupyter-lsp","ecosystem":"pypi","requirements":"==2.2.5","direct":false,"kind":"runtime","optional":false},{"id":25822164847,"package_name":"jupyter-nbextensions-configurator","ecosystem":"pypi","requirements":"==0.6.4","direct":false,"kind":"runtime","optional":false},{"id":25822164855,"package_name":"jupyter-server","ecosystem":"pypi","requirements":"==2.14.2","direct":false,"kind":"runtime","optional":false},{"id":25822164343,"package_name":"alabaster","ecosystem":"pypi","requirements":"==0.7.16","direct":false,"kind":"runtime","optional":false},{"id":25822164344,"package_name":"alembic","ecosystem":"pypi","requirements":"==1.13.2","direct":false,"kind":"runtime","optional":false},{"id":25822164345,"package_name":"annotated-types","ecosystem":"pypi","requirements":"==0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25822164346,"package_name":"anyio","ecosystem":"pypi","requirements":"==4.4.0","direct":false,"kind":"runtime","optional":false},{"id":25822164347,"package_name":"appdirs","ecosystem":"pypi","requirements":"==1.4.4","direct":false,"kind":"runtime","optional":false},{"id":25822164352,"package_name":"appnope","ecosystem":"pypi","requirements":"==0.1.4","direct":false,"kind":"runtime","optional":false},{"id":25822164371,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"==23.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822164372,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"==21.2.0","direct":false,"kind":"runtime","optional":false},{"id":25822164373,"package_name":"arrow","ecosystem":"pypi","requirements":"==1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822164405,"package_name":"asttokens","ecosystem":"pypi","requirements":"==2.4.1","direct":false,"kind":"runtime","optional":false},{"id":25822164430,"package_name":"async-lru","ecosystem":"pypi","requirements":"==2.0.4","direct":false,"kind":"runtime","optional":false},{"id":25822164432,"package_name":"attrs","ecosystem":"pypi","requirements":"==24.2.0","direct":false,"kind":"runtime","optional":false},{"id":25822164433,"package_name":"babel","ecosystem":"pypi","requirements":"==2.16.0","direct":false,"kind":"runtime","optional":false},{"id":25822164434,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.12.3","direct":false,"kind":"runtime","optional":false},{"id":25822164435,"package_name":"bleach","ecosystem":"pypi","requirements":"==6.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822164462,"package_name":"certifi","ecosystem":"pypi","requirements":"==2024.8.30","direct":false,"kind":"runtime","optional":false},{"id":25822164463,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.17.0","direct":false,"kind":"runtime","optional":false},{"id":25822164464,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.3.2","direct":false,"kind":"runtime","optional":false},{"id":25822164465,"package_name":"click","ecosystem":"pypi","requirements":"==8.1.7","direct":false,"kind":"runtime","optional":false},{"id":25822164466,"package_name":"comm","ecosystem":"pypi","requirements":"==0.2.2","direct":false,"kind":"runtime","optional":false},{"id":25822164475,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822164476,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":false,"kind":"runtime","optional":false},{"id":25822164477,"package_name":"debugpy","ecosystem":"pypi","requirements":"==1.8.5","direct":false,"kind":"runtime","optional":false},{"id":25822164502,"package_name":"decorator","ecosystem":"pypi","requirements":"==5.1.1","direct":false,"kind":"runtime","optional":false},{"id":25822164516,"package_name":"defusedxml","ecosystem":"pypi","requirements":"==0.7.1","direct":false,"kind":"runtime","optional":false},{"id":25822164517,"package_name":"deprecated","ecosystem":"pypi","requirements":"==1.2.14","direct":false,"kind":"runtime","optional":false},{"id":25822164518,"package_name":"dill","ecosystem":"pypi","requirements":"==0.3.8","direct":false,"kind":"runtime","optional":false},{"id":25822164519,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.20.1","direct":false,"kind":"runtime","optional":false},{"id":25822164520,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"==1.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822164521,"package_name":"executing","ecosystem":"pypi","requirements":"==2.0.1","direct":false,"kind":"runtime","optional":false},{"id":25822164538,"package_name":"fastapi","ecosystem":"pypi","requirements":"==0.112.2","direct":false,"kind":"runtime","optional":false},{"id":25822164539,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"==2.20.0","direct":false,"kind":"runtime","optional":false},{"id":25822164898,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"==0.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822164913,"package_name":"jupyterlab-server","ecosystem":"pypi","requirements":"==2.27.3","direct":false,"kind":"runtime","optional":false},{"id":25822164886,"package_name":"jupyter-server-terminals","ecosystem":"pypi","requirements":"==0.5.3","direct":false,"kind":"runtime","optional":false},{"id":25822164891,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"==4.2.5","direct":false,"kind":"runtime","optional":false},{"id":25822165156,"package_name":"psycopg","ecosystem":"pypi","requirements":"==3.2.1","direct":false,"kind":"runtime","optional":false},{"id":25822165158,"package_name":"psycopg-binary","ecosystem":"pypi","requirements":"==3.2.1","direct":false,"kind":"runtime","optional":false},{"id":25822165164,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"==0.7.0","direct":false,"kind":"runtime","optional":false},{"id":25822165166,"package_name":"pure-eval","ecosystem":"pypi","requirements":"==0.2.3","direct":false,"kind":"runtime","optional":false},{"id":25822165167,"package_name":"pyam-iamc","ecosystem":"pypi","requirements":"==2.2.4","direct":false,"kind":"runtime","optional":false},{"id":25822165168,"package_name":"pybtex","ecosystem":"pypi","requirements":"==0.24.0","direct":false,"kind":"runtime","optional":false},{"id":25822165174,"package_name":"pybtex-docutils","ecosystem":"pypi","requirements":"==1.0.3","direct":false,"kind":"runtime","optional":false},{"id":25822165183,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.22","direct":false,"kind":"runtime","optional":false},{"id":25822165184,"package_name":"pydantic","ecosystem":"pypi","requirements":"==2.8.2","direct":false,"kind":"runtime","optional":false},{"id":25822165185,"package_name":"pydantic-core","ecosystem":"pypi","requirements":"==2.20.1","direct":false,"kind":"runtime","optional":false},{"id":25822165186,"package_name":"pydantic-settings","ecosystem":"pypi","requirements":"==2.4.0","direct":false,"kind":"runtime","optional":false},{"id":25822165187,"package_name":"pydoe","ecosystem":"pypi","requirements":"==0.3.8","direct":false,"kind":"runtime","optional":false},{"id":25822165188,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.18.0","direct":false,"kind":"runtime","optional":false},{"id":25822165189,"package_name":"pyjwt","ecosystem":"pypi","requirements":"==2.9.0","direct":false,"kind":"runtime","optional":false},{"id":25822165190,"package_name":"pyomo","ecosystem":"pypi","requirements":"==6.8.0","direct":false,"kind":"runtime","optional":false},{"id":25822165191,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.1.4","direct":false,"kind":"runtime","optional":false},{"id":25822164943,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"==3.0.13","direct":false,"kind":"runtime","optional":false},{"id":25822164987,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.4.5","direct":false,"kind":"runtime","optional":false},{"id":25822164988,"package_name":"latexcodec","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165027,"package_name":"lxml","ecosystem":"pypi","requirements":"==5.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822165028,"package_name":"mako","ecosystem":"pypi","requirements":"==1.3.5","direct":false,"kind":"runtime","optional":false},{"id":25822165029,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165030,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==2.1.5","direct":false,"kind":"runtime","optional":false},{"id":25822165031,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.9.2","direct":false,"kind":"runtime","optional":false},{"id":25822165032,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"==0.1.7","direct":false,"kind":"runtime","optional":false},{"id":25822165040,"package_name":"mdurl","ecosystem":"pypi","requirements":"==0.1.2","direct":false,"kind":"runtime","optional":false},{"id":25822165041,"package_name":"mistune","ecosystem":"pypi","requirements":"==3.0.2","direct":false,"kind":"runtime","optional":false},{"id":25822165042,"package_name":"multimethod","ecosystem":"pypi","requirements":"==1.10","direct":false,"kind":"runtime","optional":false},{"id":25822165066,"package_name":"multiprocess","ecosystem":"pypi","requirements":"==0.70.16","direct":false,"kind":"runtime","optional":false},{"id":25822165093,"package_name":"mypy","ecosystem":"pypi","requirements":"==1.11.2","direct":false,"kind":"runtime","optional":false},{"id":25822165094,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"==1.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165095,"package_name":"nbclient","ecosystem":"pypi","requirements":"==0.10.0","direct":false,"kind":"runtime","optional":false},{"id":25822165096,"package_name":"nbconvert","ecosystem":"pypi","requirements":"==7.16.4","direct":false,"kind":"runtime","optional":false},{"id":25822165116,"package_name":"nbformat","ecosystem":"pypi","requirements":"==5.10.4","direct":false,"kind":"runtime","optional":false},{"id":25822165123,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"==1.6.0","direct":false,"kind":"runtime","optional":false},{"id":25822165126,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.3","direct":false,"kind":"runtime","optional":false},{"id":25822165128,"package_name":"nose","ecosystem":"pypi","requirements":"==1.3.7","direct":false,"kind":"runtime","optional":false},{"id":25822165129,"package_name":"notebook","ecosystem":"pypi","requirements":"==7.2.2","direct":false,"kind":"runtime","optional":false},{"id":25822165135,"package_name":"notebook-shim","ecosystem":"pypi","requirements":"==0.2.4","direct":false,"kind":"runtime","optional":false},{"id":25822165137,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822165138,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.1.5","direct":false,"kind":"runtime","optional":false},{"id":25822165139,"package_name":"overrides","ecosystem":"pypi","requirements":"==7.7.0","direct":false,"kind":"runtime","optional":false},{"id":25822165140,"package_name":"packaging","ecosystem":"pypi","requirements":"==24.1","direct":false,"kind":"runtime","optional":false},{"id":25822165141,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.2","direct":false,"kind":"runtime","optional":false},{"id":25822165142,"package_name":"pandera","ecosystem":"pypi","requirements":"==0.20.3","direct":false,"kind":"runtime","optional":false},{"id":25822165143,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"==1.5.1","direct":false,"kind":"runtime","optional":false},{"id":25822165144,"package_name":"parso","ecosystem":"pypi","requirements":"==0.8.4","direct":false,"kind":"runtime","optional":false},{"id":25822165145,"package_name":"pexpect","ecosystem":"pypi","requirements":"==4.9.0","direct":false,"kind":"runtime","optional":false},{"id":25822165146,"package_name":"pillow","ecosystem":"pypi","requirements":"==10.4.0","direct":false,"kind":"runtime","optional":false},{"id":25822165147,"package_name":"pint","ecosystem":"pypi","requirements":"==0.24.3","direct":false,"kind":"runtime","optional":false},{"id":25822165148,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.2.2","direct":false,"kind":"runtime","optional":false},{"id":25822165149,"package_name":"plotly","ecosystem":"pypi","requirements":"==5.24.0","direct":false,"kind":"runtime","optional":false},{"id":25822165150,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.5.0","direct":false,"kind":"runtime","optional":false},{"id":25822165151,"package_name":"ply","ecosystem":"pypi","requirements":"==3.11","direct":false,"kind":"runtime","optional":false},{"id":25822165152,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"==0.20.0","direct":false,"kind":"runtime","optional":false},{"id":25822165154,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"==3.0.47","direct":false,"kind":"runtime","optional":false},{"id":25822165155,"package_name":"psutil","ecosystem":"pypi","requirements":"==6.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165258,"package_name":"shellingham","ecosystem":"pypi","requirements":"==1.5.4","direct":false,"kind":"runtime","optional":false},{"id":25822165259,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"runtime","optional":false},{"id":25822165260,"package_name":"sniffio","ecosystem":"pypi","requirements":"==1.3.1","direct":false,"kind":"runtime","optional":false},{"id":25822165261,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"==2.2.0","direct":false,"kind":"runtime","optional":false},{"id":25822165262,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.6","direct":false,"kind":"runtime","optional":false},{"id":25822165263,"package_name":"sphinx","ecosystem":"pypi","requirements":"==7.4.7","direct":false,"kind":"runtime","optional":false},{"id":25822165264,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165265,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165266,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"==2.6.2","direct":false,"kind":"runtime","optional":false},{"id":25822165267,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165268,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==2.1.0","direct":false,"kind":"runtime","optional":false},{"id":25822165269,"package_name":"sphinxcontrib-jquery","ecosystem":"pypi","requirements":"==4.1","direct":false,"kind":"runtime","optional":false},{"id":25822165276,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25822165277,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165278,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165279,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"==2.0.32","direct":false,"kind":"runtime","optional":false},{"id":25822165280,"package_name":"sqlalchemy-utils","ecosystem":"pypi","requirements":"==0.41.2","direct":false,"kind":"runtime","optional":false},{"id":25822165195,"package_name":"pytest","ecosystem":"pypi","requirements":"==8.3.2","direct":false,"kind":"runtime","optional":false},{"id":25822165198,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":25822165199,"package_name":"python-dotenv","ecosystem":"pypi","requirements":"==1.0.1","direct":false,"kind":"runtime","optional":false},{"id":25822165200,"package_name":"python-json-logger","ecosystem":"pypi","requirements":"==2.0.7","direct":false,"kind":"runtime","optional":false},{"id":25822165206,"package_name":"pytz","ecosystem":"pypi","requirements":"==2024.1","direct":false,"kind":"runtime","optional":false},{"id":25822165207,"package_name":"pyutilib","ecosystem":"pypi","requirements":"==6.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165208,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.2","direct":false,"kind":"runtime","optional":false},{"id":25822165209,"package_name":"pyzmq","ecosystem":"pypi","requirements":"==26.2.0","direct":false,"kind":"runtime","optional":false},{"id":25822165210,"package_name":"referencing","ecosystem":"pypi","requirements":"==0.35.1","direct":false,"kind":"runtime","optional":false},{"id":25822165211,"package_name":"requests","ecosystem":"pypi","requirements":"==2.32.3","direct":false,"kind":"runtime","optional":false},{"id":25822165212,"package_name":"rfc3339-validator","ecosystem":"pypi","requirements":"==0.1.4","direct":false,"kind":"runtime","optional":false},{"id":25822165217,"package_name":"rfc3986-validator","ecosystem":"pypi","requirements":"==0.1.1","direct":false,"kind":"runtime","optional":false},{"id":25822165219,"package_name":"rich","ecosystem":"pypi","requirements":"==13.8.0","direct":false,"kind":"runtime","optional":false},{"id":25822165220,"package_name":"rpds-py","ecosystem":"pypi","requirements":"==0.20.0","direct":false,"kind":"runtime","optional":false},{"id":25822165221,"package_name":"salib","ecosystem":"pypi","requirements":"==1.5.1","direct":false,"kind":"runtime","optional":false},{"id":25822165222,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.14.1","direct":false,"kind":"runtime","optional":false},{"id":25822165223,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.13.2","direct":false,"kind":"runtime","optional":false},{"id":25822165224,"package_name":"send2trash","ecosystem":"pypi","requirements":"==1.8.3","direct":false,"kind":"runtime","optional":false},{"id":25822165296,"package_name":"stack-data","ecosystem":"pypi","requirements":"==0.6.3","direct":false,"kind":"runtime","optional":false},{"id":25822165306,"package_name":"starlette","ecosystem":"pypi","requirements":"==0.38.2","direct":false,"kind":"runtime","optional":false},{"id":25822165309,"package_name":"tabulate","ecosystem":"pypi","requirements":"==0.9.0","direct":false,"kind":"runtime","optional":false},{"id":25822165310,"package_name":"tenacity","ecosystem":"pypi","requirements":"==9.0.0","direct":false,"kind":"runtime","optional":false},{"id":25822165311,"package_name":"terminado","ecosystem":"pypi","requirements":"==0.18.1","direct":false,"kind":"runtime","optional":false},{"id":25822165312,"package_name":"tinycss2","ecosystem":"pypi","requirements":"==1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822165329,"package_name":"toml","ecosystem":"pypi","requirements":"==0.10.2","direct":false,"kind":"runtime","optional":false},{"id":25822165331,"package_name":"tornado","ecosystem":"pypi","requirements":"==6.4.1","direct":false,"kind":"runtime","optional":false},{"id":25822165334,"package_name":"traitlets","ecosystem":"pypi","requirements":"==5.14.3","direct":false,"kind":"runtime","optional":false},{"id":25822165335,"package_name":"typeguard","ecosystem":"pypi","requirements":"==4.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822165336,"package_name":"typer","ecosystem":"pypi","requirements":"==0.12.5","direct":false,"kind":"runtime","optional":false},{"id":25822165337,"package_name":"types-python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.20240821","direct":false,"kind":"runtime","optional":false},{"id":25822165344,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.12.2","direct":false,"kind":"runtime","optional":false},{"id":25822165345,"package_name":"typing-inspect","ecosystem":"pypi","requirements":"==0.9.0","direct":false,"kind":"runtime","optional":false},{"id":25822165352,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2024.1","direct":false,"kind":"runtime","optional":false},{"id":25822165354,"package_name":"uri-template","ecosystem":"pypi","requirements":"==1.3.0","direct":false,"kind":"runtime","optional":false},{"id":25822165358,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.2.2","direct":false,"kind":"runtime","optional":false},{"id":25822165359,"package_name":"wcwidth","ecosystem":"pypi","requirements":"==0.2.13","direct":false,"kind":"runtime","optional":false},{"id":25822165360,"package_name":"webcolors","ecosystem":"pypi","requirements":"==24.8.0","direct":false,"kind":"runtime","optional":false},{"id":25822165364,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":false,"kind":"runtime","optional":false},{"id":25822165365,"package_name":"websocket-client","ecosystem":"pypi","requirements":"==1.8.0","direct":false,"kind":"runtime","optional":false},{"id":25822165369,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"==4.0.13","direct":false,"kind":"runtime","optional":false},{"id":25822165370,"package_name":"wquantiles","ecosystem":"pypi","requirements":"==0.6","direct":false,"kind":"runtime","optional":false},{"id":25822165375,"package_name":"wrapt","ecosystem":"pypi","requirements":"==1.16.0","direct":false,"kind":"runtime","optional":false},{"id":25822165376,"package_name":"xlsxwriter","ecosystem":"pypi","requirements":"==3.2.0","direct":false,"kind":"runtime","optional":false}]}],"score":12.474938803724314,"created_at":"2023-09-11T14:52:08.092Z","updated_at":"2026-04-07T00:30:23.078Z","avatar_url":"https://github.com/TemoaProject.png","language":"Python","category":"Energy Systems","sub_category":"Energy System Modeling Frameworks","monthly_downloads":63,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Getting Started with TEMOA and Version 3\n\n## Overview\n\nThe main subdirectories in the project are:\n\n1. `temoa/`\nContains the core Temoa model\n2. `temoa/temoa_model`\nThe core model code necessary to build and solve a Temoa instance\n3. `temoa/data_processing`\nCode for post-processing solved models and working with output\n4. `temoa/extensions`\nModel extensions to solve the model using differing techniques.  Note:  There is some legacy and non-working\ncode in these modules that is planned future work.\n\n5. `data_files/`\nIntended to hold input data files and config files.  Examples are included.\nNote that the example file utopia.sql represents a simple system called 'Utopia', which\nis packaged with the MARKAL model generator and has been used\nextensively for benchmarking exercises.\n6. `output_files/`\nThe target for run-generated output including log files and other requested products.  Temoa will create\ntime-stamped folders to gather output for runs\n4. `docs/`\nContains the source code for the Temoa project manual, in reStructuredText\n(ReST) format.\n5. `notebooks/`\njupyter notebooks associated with the project.  Note:  Not all of these are functional at this time, but are\nretained to guide future development\n\n## Guide to Setup\n\n1. Obtain a current copy of Python from the python.org website.  The model has been tested with 3.11 and 3.12.  It will\nfail (raise error) on earlier versions.\n2. A `requirements.txt` file has been included to allow for use of `pip` to populate a virtual environment.  In order to use that the steps are:\n- Ensure you have a copy of python 3.11/3.12 installed on your machine ([python.org](https://www.python.org))\n- Make and activate a virtual environment using the `venv` package:\n\n```\n$ python3.11 -m venv venv\n$ source venv/bin/activate   # for linux/osx, windows activation command may differ\n```\n- Verify that you have a prepended indicator on your cursor that you are in the virtual environment (see below)\n- After activating the venv, use `pip` *within* the venv to install everything.  Most IDEs have automated tools to\nhelp set up and associate this venv with the project.  It is also possible from the command line:\n```\n(venv) $ pip install -r requirements.txt\n```\n- For Conda users, an environment.yml file is provided that is not currently fully tested.  Additional installs may \nbe required.\n3. The entry point for regular execution is now at the top level of the project so a \"sample\" run should be initiated as:\n\n```\n(venv) temoa $ python main.py --config data_files/my_configs/config_sample.toml\n```\n\n## Database Setup\n- Several sample database files in Version 3 format are provided in SQL format for learning/testing.  These are provided in the \n`data_files/example_dbs` folder.  In order to use them, they must be converted into sqlite database files.  This can \nbe done from the command line using the sqlite3 engine to convert them.  sqlite3 is packaged with Python and should be\navailable.  If not, most configuration managers should be able to install it.  The command to make the `.sqlite` file\nis (for Utopia as an example):\n```\n(venv) $ sqlite3 utopia.sqlite \u003c utopia.sql\n```\n- Converting legacy db's to Version 3 can be done with the included database migration tool.  Users who use this\ntool are advised to carefully review the console outputs during conversion to ensure accuracy and check the \nconverted database carefully.  The migration tool will build an empty new Version 3 database and move data from\nthe old database, preserving the legacy database in place.  The command can be run from the top level of the \nproject and needs pointers to the target database and the Version 3 schema file.  A typical execution from top level\nshould look like:\n\n```\n(venv) $ python temoa/utilities/db_migration_to_v3.py --source data_files/\u003clegacy db\u003e.sqlite  --schema data_files/temoa_schema_v3.sql\n```\n- Users may also create a blank full or minimal version of the database from the two schema files in the `data_files`\ndirectory as described above using the `sqlite3` command.  The \"minimal\" version excludes some of the group\nparameters and is recommended as a starting point for entry-level models.  It can be upgraded to the full set of\ntables by executing the full schema SQL command on the resulting database later, which will add the missing tables.\n\n## Config Files\n\n- A configuration (config) file is required to run the model.  The `sample_config.toml` is provided as a reference\nand has all parameters in it.  It can be copied/renamed, etc.\n- Notes on Config Options:\n\n| Field                  | Notes                                                                                                      |\n|------------------------|------------------------------------------------------------------------------------------------------------|\n| Scenario Name          | A name used in output tables for results (cannot contain dash '-' symbol)                                  |\n| Temoa Mode             | The execution mode.  See note below on currently supported modes                                           |\n| Input/Output DB        | The source (and optionally diffent) output database.  Note for myopic, MGA input must be same as output    |\n| Price Checking         | Run the \"price checker\" on the built model to look for costing deficiencies and log them                   |\n| Source Tracing         | Check the integrity of the commodity flow network in every region-period combination.  Required for Myopic |\n| Plot Commodity Network | Produce HTML (viewable in any browser) displays of the networks built (see note at bottom)                 |\n| Solver                 | The exact name of the solver executable to call                                                            |\n| Save Excel             | Save core output data to excel files.  Needed if user intends to use the graphviz post-processing modules  |\n| Save LP                | Save the created LP model files                                                                            |\n| Save Duals             | Save the values of the Dual Variables in the Output Tables.  (Only supported by some solvers)              |\n| Mode Specific Settings | See the README files within mode folders for up-to-date values                                             |\n\n## Currently Supported Modes\n### Check\nBuild the model and run the numerous checks on it.  Results will be in the log file.  No solve is attempted.\nNote:  The LP file for the model can be saved with this option and solved later/independently by selecting\nthe ``save_lp_file`` option in the config.\n### Perfect Foresight\nAll-in-one run that solves the entire model at once.  It is possible to run this without source tracing, which will\nuse raw data in the model without checking the integrity of the underlying network.  It is highly advised to use\nsource tracing for most accurate results.\n### Myopic\nSolve the model sequentially through iterative solves based on Myopic settings.  Source tracing is required to\naccommodate build/no-build decisions made per iteration to ensure follow-on models are well built.\n### MGA (Modeling to Generate Alternatives)\nAn iterative solving process to explore near cost-optimal solutions.  See the documentation on this mode.\n### SVMGA (Single Vector MGA)\nA sequence of 2 model solves that establishes a base optimal cost, then relaxes the cost then minimizes an\nalternate unweighted objective function comprised of variables associated with labels selected in lists in the\nconfig file.\n### Method of Morris\nA limited sensitivity analysis of user-selected variables using a Method of Morris approach.  See the documentation\non this mode.\n### Build Only\nMostly for test/troubleshooting.  This builds/returns an un-solved model.\n\nSeveral other options are possible to pass to the main execution command including changing the logging level to\n`debug` or running silent (no console feedback) which may be best for server runs.  Also, redirecting the output\nproducts is possible.  To see available options invoke the `main.py` file with the `-h` flag:\n\n```\n(venv) $ python main.py -h\n```\n\n## Typical Run\n1. Prepare a database (or copy of one) as described above.  Runs will fill the output tables and overwrite any data with the \nsame scenario name.\n2. Perepare a config file with paths to the database(s) relative to the top of the project, as in the example\n3. Run the model, using the `main.py` entry point from the top-level of the project:\n```\n(venv) temoa $ python main.py --config data_files/my_configs/config_sample.toml\n```\n4. Review the config display and accept\n5. Review the log file and output products which are automatically placed in a time-stamped folder in `output_files`, \nunless user has redirected output\n6. Review the data in the Output tables\n\n## Testing\nUsers who wish to exercise the `pytest` based test in the test folder can do so from the command line or any IDE.\nNote that many of the tests perform solves on small models using the freely available `cbc` solver, which is\nrequired to run the testing suite.\n\nThe tests should all run and pass (several are currently skipped and reflect in-process work).  Tests should normally\nbe run from the top level of the `tests folder`.  If `pytest` is installed it will locate tests within the folder and\nrun/report them.  Note the dot '.' below indicating current folder:\n\n```\n(venv) temoa/tests pytest .\n```\nSeveral of the packages used may currently generate warnings during this testing process, but the tests should all PASS\nwith the exception of skipped tests.\n\n## Documentation and Additional Information\n\nThe full Temoa documentation can be built by following the build README file in the Documentation folder.\n\n## Hot Fix for Network Plots on Windows Machines\n\nUsers wishing to utilize the feature to make the html network plots of the energy network using the \n`plot_commodity_network` option in the config file who are working on Windows Operating System may need to make a\n\"hot fix\" to the library code.  See note here:  https://github.com/robert-haas/gravis/issues/10\n\nThe `gravis` library which nicely makes these plots appears to currently be non-maintained and a 1-line fix is\nlikely needed to avoid error on Windows machines:\n1. Within the `venv` that contains project dependencies, navigate to the `gravis` folder\n2. Open the file `gravis/_internal/plotting/data_structures.py` and edit line 120 to include the encoding flag:\n\n\n    `with open(filepath, 'w', encoding='utf-8') as file_handle:`\n\n\n## Hot Fix for Graphviz\n\nUsers wishing to utilize the `graphviz` package to visualize results as described in the `README.md` file\nin the `data_processing` package/folder may need to re-install `graphviz` using another delivery means\nother than `pip`.  The current `requirements.txt` will attempt to install `graphviz`, but according to\ntheir project page, this needs to be done with another configuration manager like `apt` or `homebrew`.\n\nMac users wishing to use `graphviz` should re-install using `homebrew` with the command:\n\n`brew install graphviz`\n\n(Any Windows users who have tips/info on this are asked to submit a PR to this file to update this section.)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["energy-system-model","scenario-analysis","temoa"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19916","html_url":"https://ost.ecosyste.ms/projects/19916"}