{"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-09-01T03:49:45.197Z","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-08-29T06:02:23.000Z","size":45691,"stargazers_count":113,"open_issues_count":10,"forks_count":74,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-31T03:24:07.224Z","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":"mit","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","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2015-01-10T19:22:06.000Z","updated_at":"2026-08-28T11:03:00.000Z","dependencies_parsed_at":"2026-08-31T03:23:35.043Z","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":14,"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":37010697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-01T02:00:05.433Z","response_time":53,"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":"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":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":14,"first_release_published_at":"2026-01-07T19:54:18.000Z","latest_release_published_at":"2026-07-23T15:12:54.000Z","latest_release_number":"4.0.1","last_synced_at":"2026-08-31T03:07:20.363Z","created_at":"2026-01-10T20:11:05.728Z","updated_at":"2026-08-31T03:07:20.363Z","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-08-24T01:21:11.000Z","size":45841,"stargazers_count":113,"open_issues_count":10,"forks_count":73,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-24T01:43:25.828Z","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":"mit","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","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2015-01-10T19:22:06.000Z","updated_at":"2026-08-19T20:54:03.000Z","dependencies_parsed_at":"2026-08-23T23:58:47.768Z","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":14,"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":36889553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"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":[{"name":"v4.0.1","sha":"1368efc497180a9987f00ae38251b3f25eb9920f","kind":"commit","published_at":"2026-07-20T16:53:24.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v4.0.1","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.1/manifests"},{"name":"v4.0.0","sha":"0d1d00e205e0008a4e632f4c7383f1d7643d578a","kind":"tag","published_at":"2026-04-13T14:14:56.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v4.0.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0/manifests"},{"name":"v4.0.0rc1","sha":"f3219c933e55bcd84a648ff70b114b5564a24842","kind":"tag","published_at":"2026-04-10T20:55:50.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v4.0.0rc1","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v4.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v4.0.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0rc1/manifests"},{"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-08-29T04:49:48.736Z","dependent_packages_count":0,"downloads":107,"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-08-29T02:04:07.378Z","issues_count":27,"pull_requests_count":286,"avg_time_to_close_issue":39373175.722222224,"avg_time_to_close_pull_request":2026800.8161434978,"issues_closed_count":18,"pull_requests_closed_count":223,"pull_request_authors_count":22,"issue_authors_count":15,"avg_comments_per_issue":1.8888888888888888,"avg_comments_per_pull_request":0.8041958041958042,"merged_pull_requests_count":184,"bot_issues_count":3,"bot_pull_requests_count":25,"past_year_issues_count":11,"past_year_pull_requests_count":151,"past_year_avg_time_to_close_issue":4122169.0,"past_year_avg_time_to_close_pull_request":778814.8737864078,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":103,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.1818181818181817,"past_year_avg_comments_per_pull_request":1.2384105960264902,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":25,"past_year_merged_pull_requests_count":93,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/issues","maintainers":[{"login":"ParticularlyPythonicBS","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":8,"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":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"idelder","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"},{"login":"SutubraResearch","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"}]},"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","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/temoa/latest_version","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":"particularlypythonicbs","login":"particularlypythonicbs","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/particularlypythonicbs/","role":"Maintainer","created_at":"2026-04-01T22:03:08.333Z","updated_at":"2026-04-01T22:03:08.333Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/particularlypythonicbs/packages"},{"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":932043,"maintainers_count":400515,"namespaces_count":0,"keywords_count":312898,"github":"pypi","metadata":{"funded_packages_count":59177,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-31T05:03:28.294Z","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"}},{"id":4148548,"name":"github.com/temoaproject/temoa","ecosystem":"go","description":"","homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/temoaproject/temoa","keywords_array":[],"namespace":"github.com/temoaproject","versions_count":10,"first_release_published_at":"2018-01-09T03:07:05.000Z","latest_release_published_at":"2026-07-20T16:53:24.000Z","latest_release_number":"v4.0.1+incompatible","last_synced_at":"2026-08-31T03:08:53.613Z","created_at":"2022-04-12T16:55:25.110Z","updated_at":"2026-08-31T03:08:53.614Z","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":"2026-08-24T01:21:11.000Z","size":45841,"stargazers_count":113,"open_issues_count":10,"forks_count":73,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-08-24T01:43:25.828Z","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":"mit","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","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2015-01-10T19:22:06.000Z","updated_at":"2026-08-19T20:54:03.000Z","dependencies_parsed_at":"2026-08-23T23:58:47.768Z","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":14,"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":36876497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"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":[{"name":"v4.0.1","sha":"1368efc497180a9987f00ae38251b3f25eb9920f","kind":"commit","published_at":"2026-07-20T16:53:24.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v4.0.1","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.1/manifests"},{"name":"v4.0.0","sha":"0d1d00e205e0008a4e632f4c7383f1d7643d578a","kind":"tag","published_at":"2026-04-13T14:14:56.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v4.0.0","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0/manifests"},{"name":"v4.0.0rc1","sha":"f3219c933e55bcd84a648ff70b114b5564a24842","kind":"tag","published_at":"2026-04-10T20:55:50.000Z","download_url":"https://codeload.github.com/TemoaProject/temoa/tar.gz/v4.0.0rc1","html_url":"https://github.com/TemoaProject/temoa/releases/tag/v4.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/TemoaProject/temoa@v4.0.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/tags/v4.0.0rc1/manifests"},{"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-08-24T09:32:57.434Z","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":"2026-08-23T23:42:28.347Z","issues_count":27,"pull_requests_count":285,"avg_time_to_close_issue":39373175.722222224,"avg_time_to_close_pull_request":2031454.402714932,"issues_closed_count":18,"pull_requests_closed_count":221,"pull_request_authors_count":22,"issue_authors_count":15,"avg_comments_per_issue":1.8888888888888888,"avg_comments_per_pull_request":0.7964912280701755,"merged_pull_requests_count":182,"bot_issues_count":3,"bot_pull_requests_count":24,"past_year_issues_count":11,"past_year_pull_requests_count":150,"past_year_avg_time_to_close_issue":4122169.0,"past_year_avg_time_to_close_pull_request":764284.8811881188,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":101,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.1818181818181817,"past_year_avg_comments_per_pull_request":1.2266666666666668,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":24,"past_year_merged_pull_requests_count":91,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/TemoaProject%2Ftemoa/issues","maintainers":[{"login":"ParticularlyPythonicBS","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":8,"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":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"idelder","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"},{"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","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftemoaproject%2Ftemoa/latest_version","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":2282187,"maintainers_count":0,"namespaces_count":839543,"keywords_count":126057,"github":"golang","metadata":{"funded_packages_count":68481,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-08-31T05:03:00.716Z","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"}}],"commits":{"id":1253986,"full_name":"TemoaProject/temoa","default_branch":"main","total_commits":1916,"total_committers":32,"total_bot_commits":11,"total_bot_committers":1,"mean_commits":59.875,"dds":0.8037578288100209,"past_year_total_commits":596,"past_year_total_committers":6,"past_year_total_bot_commits":11,"past_year_total_bot_committers":1,"past_year_mean_commits":99.33333333333333,"past_year_dds":0.5335570469798658,"last_synced_at":"2026-08-27T01:03:52.833Z","last_synced_commit":"e3503bd031d5c437afa8c2cac302d7eea30b0a88","created_at":"2023-03-27T10:49:36.191Z","updated_at":"2026-08-27T01:03:52.141Z","committers":[{"name":"Jeff H","email":"jeff@westernspark.us","login":"jeff-ws","count":376},{"name":"Davey Elder","email":"iandavidelder@gmail.com","login":"idelder","count":297},{"name":"ParticularlyPythonicBS","email":"anil@anilr.dev","login":"ParticularlyPythonicBS","count":271},{"name":"Kevin Hunter","email":"hunteke@earlham.edu","login":null,"count":215},{"name":"jdecarolis","email":"jdecarolis@gmail.com","login":"jdecarolis","count":209},{"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":80},{"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":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":11},{"name":"Joseph Decarolis","email":"jdecarolis@l-jfdecaro-1.local","login":null,"count":8},{"name":"Katie Jordan","email":"55712134+kathjordan","login":"kathjordan","count":7},{"name":"An open source energy system model","email":"jdecarolis@ncsu.edu","login":"TemoaProject","count":7},{"name":"spkanung","email":"spkanung@ncsu.edu","login":null,"count":6},{"name":"Davey Elder","email":"ian.elder@mail.utoronto.ca","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":"CANOE-main","email":"canoe.mainbranch@gmail.com","login":null,"count":3},{"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":"mikeblackhurst","email":"156846042+mikeblackhurst","login":"mikeblackhurst","count":1},{"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}],"past_year_committers":[{"name":"Davey Elder","email":"iandavidelder@gmail.com","login":"idelder","count":278},{"name":"ParticularlyPythonicBS","email":"anil@anilr.dev","login":"ParticularlyPythonicBS","count":271},{"name":"SutubraResearch","email":"cameron@sutubra.ca","login":"SutubraResearch","count":18},{"name":"Joe DeCarolis","email":"jdecarolis@gmail.com","login":"jdecarolis","count":17},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":11},{"name":"CANOE-main","email":"canoe.mainbranch@gmail.com","login":null,"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-08-27T00:00:09.802Z","repositories_count":6817979,"commits_count":987335642,"contributors_count":41646625,"owners_count":1371234,"committers_count":3377324,"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-08-31T03:06:51.845Z","status":null,"issues_count":28,"pull_requests_count":286,"avg_time_to_close_issue":39373175.722222224,"avg_time_to_close_pull_request":2026800.8161434978,"issues_closed_count":18,"pull_requests_closed_count":223,"pull_request_authors_count":22,"issue_authors_count":15,"avg_comments_per_issue":1.8214285714285714,"avg_comments_per_pull_request":0.8041958041958042,"merged_pull_requests_count":184,"bot_issues_count":3,"bot_pull_requests_count":25,"past_year_issues_count":12,"past_year_pull_requests_count":151,"past_year_avg_time_to_close_issue":4122169.0,"past_year_avg_time_to_close_pull_request":778814.8737864078,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":103,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":1.2384105960264902,"past_year_bot_issues_count":3,"past_year_bot_pull_requests_count":25,"past_year_merged_pull_requests_count":93,"created_at":"2023-05-09T10:38:50.289Z","updated_at":"2026-08-31T03:06:51.845Z","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":{"bug":3,"needs-triage":2,"Maintenance":1},"pull_request_labels_count":{"Maintenance":16,"dependencies":15,"automated-pr":14,"bugfix":8,"Feature":8,"docs":7,"enhancement":5,"refactor":5,"type-safety":4,"database-schema":3,"model_changes":2,"Infra":2,"dependency-canary":1,"LICENSE":1,"bug":1},"issue_author_associations_count":{"NONE":18,"COLLABORATOR":6,"MEMBER":2,"OWNER":2},"pull_request_author_associations_count":{"NONE":183,"COLLABORATOR":57,"MEMBER":32,"CONTRIBUTOR":13,"OWNER":1},"issue_authors":{"idelder":4,"coderabbitai[bot]":3,"gschivley":3,"samgdotson":3,"TemoaProject":2,"ParticularlyPythonicBS":2,"DavidLikesLearning":2,"SutubraResearch":2,"christiancodes":1,"Riccardo-sus":1,"EnergyModels":1,"DJDIAA":1,"AaronHolm":1,"codeyash":1,"jdecarolis":1},"pull_request_authors":{"idelder":92,"jeff-ws":63,"ParticularlyPythonicBS":44,"SutubraResearch":28,"github-actions[bot]":14,"pre-commit-ci[bot]":11,"jdecarolis":7,"aranyavenkatesh":5,"kathjordan":5,"matteo-nicoli":3,"PatwaUmang":2,"danielhuppmann":2,"hadieshraghi":1,"gschivley":1,"DavidLikesLearning":1,"samgdotson":1,"mokhtar-sidi":1,"yashsamit":1,"TemoaProject":1,"iankurgarg":1,"kerodkibatu":1,"kathjordan17":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-09-01T00:00:06.371Z","repositories_count":16702628,"issues_count":43912934,"pull_requests_count":139502460,"authors_count":11602808,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":3,"needs-triage":2,"Maintenance":1},"past_year_pull_request_labels_count":{"dependencies":15,"Maintenance":15,"automated-pr":14,"bugfix":8,"docs":7,"Feature":6,"refactor":5,"type-safety":4,"database-schema":3,"enhancement":3,"model_changes":2,"Infra":2,"dependency-canary":1,"LICENSE":1,"bug":1},"past_year_issue_author_associations_count":{"NONE":6,"COLLABORATOR":4,"MEMBER":2},"past_year_pull_request_author_associations_count":{"NONE":81,"MEMBER":30,"COLLABORATOR":28,"CONTRIBUTOR":12},"past_year_issue_authors":{"idelder":4,"coderabbitai[bot]":3,"DavidLikesLearning":2,"ParticularlyPythonicBS":2,"jdecarolis":1},"past_year_pull_request_authors":{"idelder":77,"ParticularlyPythonicBS":30,"github-actions[bot]":14,"pre-commit-ci[bot]":11,"jdecarolis":7,"SutubraResearch":7,"jeff-ws":2,"DavidLikesLearning":1,"kathjordan17":1,"mokhtar-sidi":1},"maintainers":[{"login":"ParticularlyPythonicBS","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"SutubraResearch","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"},{"login":"idelder","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":8,"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":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ParticularlyPythonicBS"},{"login":"idelder","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/idelder"},{"login":"jdecarolis","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jdecarolis"},{"login":"SutubraResearch","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SutubraResearch"}]},"events":{"total":{"CreateEvent":61,"DeleteEvent":59,"ForkEvent":8,"IssueCommentEvent":87,"IssuesEvent":27,"MemberEvent":1,"PullRequestEvent":181,"PullRequestReviewCommentEvent":401,"PullRequestReviewEvent":204,"PushEvent":306,"ReleaseEvent":1,"WatchEvent":16},"last_year":{"CreateEvent":56,"DeleteEvent":57,"ForkEvent":3,"IssueCommentEvent":76,"IssuesEvent":26,"MemberEvent":1,"PullRequestEvent":153,"PullRequestReviewCommentEvent":401,"PullRequestReviewEvent":203,"PushEvent":292,"WatchEvent":7}},"keywords":[],"dependencies":[{"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":"actions","filepath":".github/workflows/dependency-canary.yml","sha":null,"kind":"manifest","created_at":"2026-08-23T23:58:41.289Z","updated_at":"2026-08-23T23:58:41.289Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/.github/workflows/dependency-canary.yml","dependencies":[{"id":26267135587,"package_name":"actions/checkout","ecosystem":"actions","requirements":"93cb6efe18208431cddfb8368fd83d5badbf9bfd","direct":true,"kind":"composite","optional":false},{"id":26267135588,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"d0cc045d04ccac9d8b7881df0226f9e82c39688e","direct":true,"kind":"composite","optional":false},{"id":26267135589,"package_name":"actions/github-script","ecosystem":"actions","requirements":"f28e40c7f34bde8b3046d885e986cb6290c5673b","direct":true,"kind":"composite","optional":false},{"id":26267135590,"package_name":"peter-evans/create-pull-request","ecosystem":"actions","requirements":"22a9089034f40e5a961c8808d113e2c98fb63676","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-dev.txt","sha":null,"kind":"manifest","created_at":"2026-08-23T23:58:42.707Z","updated_at":"2026-08-23T23:58:42.707Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/requirements-dev.txt","dependencies":[{"id":26267136375,"package_name":"accessible-pygments","ecosystem":"pypi","requirements":"==0.0.5","direct":true,"kind":"development","optional":false},{"id":26267136376,"package_name":"alabaster","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"development","optional":false},{"id":26267136377,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"==0.0.4","direct":true,"kind":"development","optional":false},{"id":26267136378,"package_name":"ast-serialize","ecosystem":"pypi","requirements":"==0.6.0","direct":true,"kind":"development","optional":false},{"id":26267136379,"package_name":"babel","ecosystem":"pypi","requirements":"==2.18.0","direct":true,"kind":"development","optional":false},{"id":26267136380,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.15.0","direct":true,"kind":"development","optional":false},{"id":26267136381,"package_name":"certifi","ecosystem":"pypi","requirements":"==2026.6.17","direct":true,"kind":"development","optional":false},{"id":26267136382,"package_name":"cfgv","ecosystem":"pypi","requirements":"==3.5.0","direct":true,"kind":"development","optional":false},{"id":26267136383,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==3.4.9","direct":true,"kind":"development","optional":false},{"id":26267136384,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"development","optional":false},{"id":26267136385,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.3.3","direct":true,"kind":"development","optional":false},{"id":26267136386,"package_name":"coverage","ecosystem":"pypi","requirements":"==7.15.2","direct":true,"kind":"development","optional":false},{"id":26267136387,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"development","optional":false},{"id":26267136388,"package_name":"deprecated","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"development","optional":false},{"id":26267136401,"package_name":"dill","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"development","optional":false},{"id":26267136402,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.4.3","direct":true,"kind":"development","optional":false},{"id":26267136403,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.22.4","direct":true,"kind":"development","optional":false},{"id":26267136404,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":26267136405,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.31.0","direct":true,"kind":"development","optional":false},{"id":26267136406,"package_name":"flexcache","ecosystem":"pypi","requirements":"==0.3","direct":true,"kind":"development","optional":false},{"id":26267136407,"package_name":"flexparser","ecosystem":"pypi","requirements":"==0.4","direct":true,"kind":"development","optional":false},{"id":26267136408,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.63.0","direct":true,"kind":"development","optional":false},{"id":26267136409,"package_name":"graphviz","ecosystem":"pypi","requirements":"==0.21","direct":true,"kind":"development","optional":false},{"id":26267136502,"package_name":"gurobipy","ecosystem":"pypi","requirements":"==13.0.2","direct":true,"kind":"development","optional":false},{"id":26267136503,"package_name":"highspy","ecosystem":"pypi","requirements":"==1.15.1","direct":true,"kind":"development","optional":false},{"id":26267136504,"package_name":"identify","ecosystem":"pypi","requirements":"==2.6.19","direct":true,"kind":"development","optional":false},{"id":26267136505,"package_name":"idna","ecosystem":"pypi","requirements":"==3.18","direct":true,"kind":"development","optional":false},{"id":26267136506,"package_name":"imagesize","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":26267136507,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"development","optional":false},{"id":26267136508,"package_name":"jinja2","ecosystem":"pypi","requirements":"==3.1.6","direct":true,"kind":"development","optional":false},{"id":26267136509,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.5.3","direct":true,"kind":"development","optional":false},{"id":26267136510,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.5.0","direct":true,"kind":"development","optional":false},{"id":26267136511,"package_name":"latexcodec","ecosystem":"pypi","requirements":"==3.0.1","direct":true,"kind":"development","optional":false},{"id":26267136602,"package_name":"librt","ecosystem":"pypi","requirements":"==0.13.0","direct":true,"kind":"development","optional":false},{"id":26267136603,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"==4.2.0","direct":true,"kind":"development","optional":false},{"id":26267136604,"package_name":"markupsafe","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"development","optional":false},{"id":26267136605,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.11.1","direct":true,"kind":"development","optional":false},{"id":26267136606,"package_name":"mdit-py-plugins","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"development","optional":false},{"id":26267136607,"package_name":"mdurl","ecosystem":"pypi","requirements":"==0.1.2","direct":true,"kind":"development","optional":false},{"id":26267136608,"package_name":"mpi-sppy","ecosystem":"pypi","requirements":"==0.14.0","direct":true,"kind":"development","optional":false},{"id":26267136647,"package_name":"multiprocess","ecosystem":"pypi","requirements":"==0.70.19","direct":true,"kind":"development","optional":false},{"id":26267136648,"package_name":"mypy","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"development","optional":false},{"id":26267136649,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"development","optional":false},{"id":26267136650,"package_name":"myst-parser","ecosystem":"pypi","requirements":"==5.1.0","direct":true,"kind":"development","optional":false},{"id":26267136656,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"development","optional":false},{"id":26267136657,"package_name":"nodeenv","ecosystem":"pypi","requirements":"==1.10.0","direct":true,"kind":"development","optional":false},{"id":26267136658,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.5.1","direct":true,"kind":"development","optional":false},{"id":26267136659,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.1.5","direct":true,"kind":"development","optional":false},{"id":26267136660,"package_name":"packaging","ecosystem":"pypi","requirements":"==26.2","direct":true,"kind":"development","optional":false},{"id":26267136661,"package_name":"pandas","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"development","optional":false},{"id":26267136662,"package_name":"pandas-stubs","ecosystem":"pypi","requirements":"==3.0.3.260530","direct":true,"kind":"development","optional":false},{"id":26267136663,"package_name":"pathspec","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"development","optional":false},{"id":26267136664,"package_name":"pillow","ecosystem":"pypi","requirements":"==12.3.0","direct":true,"kind":"development","optional":false},{"id":26267136665,"package_name":"pint","ecosystem":"pypi","requirements":"==0.25.3","direct":true,"kind":"development","optional":false},{"id":26267136666,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.10.1","direct":true,"kind":"development","optional":false},{"id":26267136667,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"development","optional":false},{"id":26267136668,"package_name":"pre-commit","ecosystem":"pypi","requirements":"==4.6.0","direct":true,"kind":"development","optional":false},{"id":26267136669,"package_name":"pybtex","ecosystem":"pypi","requirements":"==0.26.1","direct":true,"kind":"development","optional":false},{"id":26267137143,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"development","optional":false},{"id":26267137144,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.9","direct":true,"kind":"development","optional":false},{"id":26267137145,"package_name":"sphinx","ecosystem":"pypi","requirements":"==9.1.0","direct":true,"kind":"development","optional":false},{"id":26267137146,"package_name":"sphinx-book-theme","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"development","optional":false},{"id":26267137147,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":26267137148,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"==2.7.0","direct":true,"kind":"development","optional":false},{"id":26267136830,"package_name":"pybtex-docutils","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"development","optional":false},{"id":26267137018,"package_name":"pydata-sphinx-theme","ecosystem":"pypi","requirements":"==0.16.1","direct":true,"kind":"development","optional":false},{"id":26267137025,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.20.0","direct":true,"kind":"development","optional":false},{"id":26267137026,"package_name":"pyomo","ecosystem":"pypi","requirements":"==6.10.1","direct":true,"kind":"development","optional":false},{"id":26267137027,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.3.2","direct":true,"kind":"development","optional":false},{"id":26267137028,"package_name":"pytest","ecosystem":"pypi","requirements":"==9.1.1","direct":true,"kind":"development","optional":false},{"id":26267137029,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==7.1.0","direct":true,"kind":"development","optional":false},{"id":26267137030,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":true,"kind":"development","optional":false},{"id":26267137031,"package_name":"python-discovery","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"development","optional":false},{"id":26267137032,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0.3","direct":true,"kind":"development","optional":false},{"id":26267137033,"package_name":"requests","ecosystem":"pypi","requirements":"==2.34.2","direct":true,"kind":"development","optional":false},{"id":26267137034,"package_name":"rich","ecosystem":"pypi","requirements":"==15.0.0","direct":true,"kind":"development","optional":false},{"id":26267137035,"package_name":"roman-numerals","ecosystem":"pypi","requirements":"==4.1.0","direct":true,"kind":"development","optional":false},{"id":26267137036,"package_name":"ruff","ecosystem":"pypi","requirements":"==0.15.22","direct":true,"kind":"development","optional":false},{"id":26267137037,"package_name":"salib","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"development","optional":false},{"id":26267137038,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.18.0","direct":true,"kind":"development","optional":false},{"id":26267137039,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.13.2","direct":true,"kind":"development","optional":false},{"id":26267137040,"package_name":"shellingham","ecosystem":"pypi","requirements":"==1.5.4","direct":true,"kind":"development","optional":false},{"id":26267137041,"package_name":"six","ecosystem":"pypi","requirements":"==1.17.0","direct":true,"kind":"development","optional":false},{"id":26267137042,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"==3.1.1","direct":true,"kind":"development","optional":false},{"id":26267137043,"package_name":"sortedcollections","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"development","optional":false},{"id":26267137470,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":26267137471,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"development","optional":false},{"id":26267137472,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"development","optional":false},{"id":26267137473,"package_name":"sphinxcontrib-mermaid","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"development","optional":false},{"id":26267137527,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":26267137528,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"development","optional":false},{"id":26267137529,"package_name":"tabulate","ecosystem":"pypi","requirements":"==0.10.0","direct":true,"kind":"development","optional":false},{"id":26267137530,"package_name":"tomlkit","ecosystem":"pypi","requirements":"==0.15.1","direct":true,"kind":"development","optional":false},{"id":26267137531,"package_name":"typer","ecosystem":"pypi","requirements":"==0.27.0","direct":true,"kind":"development","optional":false},{"id":26267137532,"package_name":"types-deprecated","ecosystem":"pypi","requirements":"==1.3.1.20260520","direct":true,"kind":"development","optional":false},{"id":26267137602,"package_name":"types-networkx","ecosystem":"pypi","requirements":"==3.6.1.20260624","direct":true,"kind":"development","optional":false},{"id":26267137603,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.16.0","direct":true,"kind":"development","optional":false},{"id":26267137604,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2026.3","direct":true,"kind":"development","optional":false},{"id":26267137605,"package_name":"urllib3","ecosystem":"pypi","requirements":"==2.7.0","direct":true,"kind":"development","optional":false},{"id":26267137606,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==21.6.1","direct":true,"kind":"development","optional":false},{"id":26267137607,"package_name":"wrapt","ecosystem":"pypi","requirements":"==2.2.2","direct":true,"kind":"development","optional":false},{"id":26267137608,"package_name":"xlsxwriter","ecosystem":"pypi","requirements":"==3.2.9","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2026-08-23T23:58:45.405Z","updated_at":"2026-08-23T23:58:45.405Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/requirements.txt","dependencies":[{"id":26267137767,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"==0.0.4","direct":true,"kind":"runtime","optional":false},{"id":26267137768,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.6","direct":true,"kind":"runtime","optional":false},{"id":26267137769,"package_name":"contourpy","ecosystem":"pypi","requirements":"==1.3.3","direct":true,"kind":"runtime","optional":false},{"id":26267137770,"package_name":"cycler","ecosystem":"pypi","requirements":"==0.12.1","direct":true,"kind":"runtime","optional":false},{"id":26267137771,"package_name":"deprecated","ecosystem":"pypi","requirements":"==1.3.1","direct":true,"kind":"runtime","optional":false},{"id":26267137772,"package_name":"dill","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"runtime","optional":false},{"id":26267137773,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":26267137774,"package_name":"flexcache","ecosystem":"pypi","requirements":"==0.3","direct":true,"kind":"runtime","optional":false},{"id":26267137775,"package_name":"flexparser","ecosystem":"pypi","requirements":"==0.4","direct":true,"kind":"runtime","optional":false},{"id":26267137776,"package_name":"fonttools","ecosystem":"pypi","requirements":"==4.63.0","direct":true,"kind":"runtime","optional":false},{"id":26267137777,"package_name":"graphviz","ecosystem":"pypi","requirements":"==0.21","direct":true,"kind":"runtime","optional":false},{"id":26267137778,"package_name":"highspy","ecosystem":"pypi","requirements":"==1.15.1","direct":true,"kind":"runtime","optional":false},{"id":26267137779,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"runtime","optional":false},{"id":26267137780,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.5.3","direct":true,"kind":"runtime","optional":false},{"id":26267137781,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"==1.5.0","direct":true,"kind":"runtime","optional":false},{"id":26267137782,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"==4.2.0","direct":true,"kind":"runtime","optional":false},{"id":26267137783,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.11.1","direct":true,"kind":"runtime","optional":false},{"id":26267137784,"package_name":"mdurl","ecosystem":"pypi","requirements":"==0.1.2","direct":true,"kind":"runtime","optional":false},{"id":26267137785,"package_name":"mpi-sppy","ecosystem":"pypi","requirements":"==0.14.0","direct":true,"kind":"runtime","optional":false},{"id":26267137786,"package_name":"multiprocess","ecosystem":"pypi","requirements":"==0.70.19","direct":true,"kind":"runtime","optional":false},{"id":26267137787,"package_name":"networkx","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"runtime","optional":false},{"id":26267137788,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.5.1","direct":true,"kind":"runtime","optional":false},{"id":26267137789,"package_name":"openpyxl","ecosystem":"pypi","requirements":"==3.1.5","direct":true,"kind":"runtime","optional":false},{"id":26267137790,"package_name":"packaging","ecosystem":"pypi","requirements":"==26.2","direct":true,"kind":"runtime","optional":false},{"id":26267137791,"package_name":"pandas","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":26267137792,"package_name":"pillow","ecosystem":"pypi","requirements":"==12.3.0","direct":true,"kind":"runtime","optional":false},{"id":26267137793,"package_name":"pint","ecosystem":"pypi","requirements":"==0.25.3","direct":true,"kind":"runtime","optional":false},{"id":26267137794,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==4.10.1","direct":true,"kind":"runtime","optional":false},{"id":26267137795,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":26267137964,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.20.0","direct":true,"kind":"runtime","optional":false},{"id":26267137965,"package_name":"pyomo","ecosystem":"pypi","requirements":"==6.10.1","direct":true,"kind":"runtime","optional":false},{"id":26267137966,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.3.2","direct":true,"kind":"runtime","optional":false},{"id":26267137967,"package_name":"pytest","ecosystem":"pypi","requirements":"==9.1.1","direct":true,"kind":"runtime","optional":false},{"id":26267137968,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.9.0.post0","direct":true,"kind":"runtime","optional":false},{"id":26267137969,"package_name":"rich","ecosystem":"pypi","requirements":"==15.0.0","direct":true,"kind":"runtime","optional":false},{"id":26267137970,"package_name":"salib","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"runtime","optional":false},{"id":26267137971,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.18.0","direct":true,"kind":"runtime","optional":false},{"id":26267137972,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.13.2","direct":true,"kind":"runtime","optional":false},{"id":26267137973,"package_name":"shellingham","ecosystem":"pypi","requirements":"==1.5.4","direct":true,"kind":"runtime","optional":false},{"id":26267137974,"package_name":"six","ecosystem":"pypi","requirements":"==1.17.0","direct":true,"kind":"runtime","optional":false},{"id":26267137975,"package_name":"sortedcollections","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":26267137976,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"runtime","optional":false},{"id":26267137977,"package_name":"tabulate","ecosystem":"pypi","requirements":"==0.10.0","direct":true,"kind":"runtime","optional":false},{"id":26267137978,"package_name":"tomlkit","ecosystem":"pypi","requirements":"==0.15.1","direct":true,"kind":"runtime","optional":false},{"id":26267137979,"package_name":"typer","ecosystem":"pypi","requirements":"==0.27.0","direct":true,"kind":"runtime","optional":false},{"id":26267137980,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.16.0","direct":true,"kind":"runtime","optional":false},{"id":26267137981,"package_name":"tzdata","ecosystem":"pypi","requirements":"==2026.3","direct":true,"kind":"runtime","optional":false},{"id":26267137982,"package_name":"wrapt","ecosystem":"pypi","requirements":"==2.2.2","direct":true,"kind":"runtime","optional":false},{"id":26267137983,"package_name":"xlsxwriter","ecosystem":"pypi","requirements":"==3.2.9","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"uv.lock","sha":null,"kind":"lockfile","created_at":"2026-08-23T23:58:46.032Z","updated_at":"2026-08-23T23:58:46.032Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/uv.lock","dependencies":[{"id":26267138458,"package_name":"accessible-pygments","ecosystem":"pypi","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":26267138459,"package_name":"alabaster","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138460,"package_name":"annotated-doc","ecosystem":"pypi","requirements":"0.0.4","direct":false,"kind":"runtime","optional":false},{"id":26267138461,"package_name":"ast-serialize","ecosystem":"pypi","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":26267138462,"package_name":"babel","ecosystem":"pypi","requirements":"2.18.0","direct":false,"kind":"runtime","optional":false},{"id":26267138463,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.15.0","direct":false,"kind":"runtime","optional":false},{"id":26267138464,"package_name":"certifi","ecosystem":"pypi","requirements":"2026.6.17","direct":false,"kind":"runtime","optional":false},{"id":26267138465,"package_name":"cfgv","ecosystem":"pypi","requirements":"3.5.0","direct":false,"kind":"runtime","optional":false},{"id":26267138466,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"3.4.9","direct":false,"kind":"runtime","optional":false},{"id":26267138467,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"runtime","optional":false},{"id":26267138468,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.3.3","direct":false,"kind":"runtime","optional":false},{"id":26267138469,"package_name":"coverage","ecosystem":"pypi","requirements":"7.15.2","direct":false,"kind":"runtime","optional":false},{"id":26267138470,"package_name":"cycler","ecosystem":"pypi","requirements":"0.12.1","direct":false,"kind":"runtime","optional":false},{"id":26267138471,"package_name":"deprecated","ecosystem":"pypi","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":26267138472,"package_name":"dill","ecosystem":"pypi","requirements":"0.4.1","direct":false,"kind":"runtime","optional":false},{"id":26267138473,"package_name":"distlib","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"runtime","optional":false},{"id":26267138474,"package_name":"docutils","ecosystem":"pypi","requirements":"0.22.4","direct":false,"kind":"runtime","optional":false},{"id":26267138475,"package_name":"et-xmlfile","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138476,"package_name":"filelock","ecosystem":"pypi","requirements":"3.31.0","direct":false,"kind":"runtime","optional":false},{"id":26267138477,"package_name":"flexcache","ecosystem":"pypi","requirements":"0.3","direct":false,"kind":"runtime","optional":false},{"id":26267138478,"package_name":"flexparser","ecosystem":"pypi","requirements":"0.4","direct":false,"kind":"runtime","optional":false},{"id":26267138479,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.63.0","direct":false,"kind":"runtime","optional":false},{"id":26267138480,"package_name":"graphviz","ecosystem":"pypi","requirements":"0.21","direct":false,"kind":"runtime","optional":false},{"id":26267138481,"package_name":"gurobipy","ecosystem":"pypi","requirements":"13.0.2","direct":false,"kind":"runtime","optional":false},{"id":26267138482,"package_name":"highspy","ecosystem":"pypi","requirements":"1.15.1","direct":false,"kind":"runtime","optional":false},{"id":26267138483,"package_name":"identify","ecosystem":"pypi","requirements":"2.6.19","direct":false,"kind":"runtime","optional":false},{"id":26267138484,"package_name":"idna","ecosystem":"pypi","requirements":"3.18","direct":false,"kind":"runtime","optional":false},{"id":26267138485,"package_name":"imagesize","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138486,"package_name":"iniconfig","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26267138487,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.6","direct":false,"kind":"runtime","optional":false},{"id":26267138488,"package_name":"joblib","ecosystem":"pypi","requirements":"1.5.3","direct":false,"kind":"runtime","optional":false},{"id":26267138489,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":26267138490,"package_name":"latexcodec","ecosystem":"pypi","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":26267138491,"package_name":"librt","ecosystem":"pypi","requirements":"0.13.0","direct":false,"kind":"runtime","optional":false},{"id":26267138492,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"4.2.0","direct":false,"kind":"runtime","optional":false},{"id":26267138493,"package_name":"markupsafe","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26267138494,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.11.1","direct":false,"kind":"runtime","optional":false},{"id":26267138495,"package_name":"mdit-py-plugins","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":26267138496,"package_name":"mdurl","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"runtime","optional":false},{"id":26267138497,"package_name":"mpi-sppy","ecosystem":"pypi","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":26267138498,"package_name":"multiprocess","ecosystem":"pypi","requirements":"0.70.19","direct":false,"kind":"runtime","optional":false},{"id":26267138499,"package_name":"mypy","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":26267138500,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138501,"package_name":"myst-parser","ecosystem":"pypi","requirements":"5.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138502,"package_name":"networkx","ecosystem":"pypi","requirements":"3.6.1","direct":false,"kind":"runtime","optional":false},{"id":26267138503,"package_name":"nodeenv","ecosystem":"pypi","requirements":"1.10.0","direct":false,"kind":"runtime","optional":false},{"id":26267138504,"package_name":"numpy","ecosystem":"pypi","requirements":"2.5.1","direct":false,"kind":"runtime","optional":false},{"id":26267138505,"package_name":"openpyxl","ecosystem":"pypi","requirements":"3.1.5","direct":false,"kind":"runtime","optional":false},{"id":26267138506,"package_name":"packaging","ecosystem":"pypi","requirements":"26.2","direct":false,"kind":"runtime","optional":false},{"id":26267138507,"package_name":"pandas","ecosystem":"pypi","requirements":"3.0.3","direct":false,"kind":"runtime","optional":false},{"id":26267138508,"package_name":"pandas-stubs","ecosystem":"pypi","requirements":"3.0.3.260530","direct":false,"kind":"runtime","optional":false},{"id":26267138509,"package_name":"pathspec","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":26267138510,"package_name":"pillow","ecosystem":"pypi","requirements":"12.3.0","direct":false,"kind":"runtime","optional":false},{"id":26267138511,"package_name":"pint","ecosystem":"pypi","requirements":"0.25.3","direct":false,"kind":"runtime","optional":false},{"id":26267138512,"package_name":"platformdirs","ecosystem":"pypi","requirements":"4.10.1","direct":false,"kind":"runtime","optional":false},{"id":26267138513,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":26267138514,"package_name":"pre-commit","ecosystem":"pypi","requirements":"4.6.0","direct":false,"kind":"runtime","optional":false},{"id":26267138515,"package_name":"pybtex","ecosystem":"pypi","requirements":"0.26.1","direct":false,"kind":"runtime","optional":false},{"id":26267138516,"package_name":"pybtex-docutils","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":26267138517,"package_name":"pydata-sphinx-theme","ecosystem":"pypi","requirements":"0.16.1","direct":false,"kind":"runtime","optional":false},{"id":26267138518,"package_name":"pygments","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"runtime","optional":false},{"id":26267138519,"package_name":"pyomo","ecosystem":"pypi","requirements":"6.10.1","direct":false,"kind":"runtime","optional":false},{"id":26267138520,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.3.2","direct":false,"kind":"runtime","optional":false},{"id":26267138521,"package_name":"pytest","ecosystem":"pypi","requirements":"9.1.1","direct":false,"kind":"runtime","optional":false},{"id":26267138522,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138523,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.9.0.post0","direct":false,"kind":"runtime","optional":false},{"id":26267138524,"package_name":"python-discovery","ecosystem":"pypi","requirements":"1.4.4","direct":false,"kind":"runtime","optional":false},{"id":26267138525,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0.3","direct":false,"kind":"runtime","optional":false},{"id":26267138526,"package_name":"requests","ecosystem":"pypi","requirements":"2.34.2","direct":false,"kind":"runtime","optional":false},{"id":26267138527,"package_name":"rich","ecosystem":"pypi","requirements":"15.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138528,"package_name":"roman-numerals","ecosystem":"pypi","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138529,"package_name":"ruff","ecosystem":"pypi","requirements":"0.15.22","direct":false,"kind":"runtime","optional":false},{"id":26267138530,"package_name":"salib","ecosystem":"pypi","requirements":"1.5.2","direct":false,"kind":"runtime","optional":false},{"id":26267138531,"package_name":"scipy","ecosystem":"pypi","requirements":"1.18.0","direct":false,"kind":"runtime","optional":false},{"id":26267138532,"package_name":"seaborn","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":26267138533,"package_name":"shellingham","ecosystem":"pypi","requirements":"1.5.4","direct":false,"kind":"runtime","optional":false},{"id":26267138534,"package_name":"six","ecosystem":"pypi","requirements":"1.17.0","direct":false,"kind":"runtime","optional":false},{"id":26267138535,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":26267138536,"package_name":"sortedcollections","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138537,"package_name":"sortedcontainers","ecosystem":"pypi","requirements":"2.4.0","direct":false,"kind":"runtime","optional":false},{"id":26267138538,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.9","direct":false,"kind":"runtime","optional":false},{"id":26267138539,"package_name":"sphinx","ecosystem":"pypi","requirements":"9.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138540,"package_name":"sphinx-book-theme","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":26267138541,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138542,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":26267138543,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138544,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138545,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":26267138546,"package_name":"sphinxcontrib-mermaid","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":26267138547,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138548,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":26267138549,"package_name":"tabulate","ecosystem":"pypi","requirements":"0.10.0","direct":false,"kind":"runtime","optional":false},{"id":26267138550,"package_name":"temoa","ecosystem":"pypi","requirements":"*","direct":false,"kind":"runtime","optional":false},{"id":26267138551,"package_name":"tomlkit","ecosystem":"pypi","requirements":"0.15.1","direct":false,"kind":"runtime","optional":false},{"id":26267138552,"package_name":"typer","ecosystem":"pypi","requirements":"0.27.0","direct":false,"kind":"runtime","optional":false},{"id":26267138553,"package_name":"types-deprecated","ecosystem":"pypi","requirements":"1.3.1.20260520","direct":false,"kind":"runtime","optional":false},{"id":26267138554,"package_name":"types-networkx","ecosystem":"pypi","requirements":"3.6.1.20260624","direct":false,"kind":"runtime","optional":false},{"id":26267138555,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.16.0","direct":false,"kind":"runtime","optional":false},{"id":26267138556,"package_name":"tzdata","ecosystem":"pypi","requirements":"2026.3","direct":false,"kind":"runtime","optional":false},{"id":26267138557,"package_name":"urllib3","ecosystem":"pypi","requirements":"2.7.0","direct":false,"kind":"runtime","optional":false},{"id":26267138558,"package_name":"virtualenv","ecosystem":"pypi","requirements":"21.6.1","direct":false,"kind":"runtime","optional":false},{"id":26267138559,"package_name":"wrapt","ecosystem":"pypi","requirements":"2.2.2","direct":false,"kind":"runtime","optional":false},{"id":26267138560,"package_name":"xlsxwriter","ecosystem":"pypi","requirements":"3.2.9","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2026-08-23T23:58:40.506Z","updated_at":"2026-08-23T23:58:40.506Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/.github/workflows/ci.yml","dependencies":[{"id":26267134995,"package_name":"actions/checkout","ecosystem":"actions","requirements":"93cb6efe18208431cddfb8368fd83d5badbf9bfd","direct":true,"kind":"composite","optional":false},{"id":26267134996,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"d0cc045d04ccac9d8b7881df0226f9e82c39688e","direct":true,"kind":"composite","optional":false},{"id":26267134997,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"75cd11691c0faa626561e295848008c8a7dddffe","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yml","sha":null,"kind":"manifest","created_at":"2026-08-23T23:58:42.152Z","updated_at":"2026-08-23T23:58:42.152Z","repository_link":"https://github.com/TemoaProject/temoa/blob/main/.github/workflows/publish.yml","dependencies":[{"id":26267135992,"package_name":"actions/checkout","ecosystem":"actions","requirements":"de0fac2e4500dabe0009e67214ff5f5447ce83dd","direct":true,"kind":"composite","optional":false},{"id":26267135993,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"cec208311dfd045dd5311c1add060b2062131d57","direct":true,"kind":"composite","optional":false}]}],"score":12.969268140401287,"created_at":"2023-09-11T14:52:08.092Z","updated_at":"2026-09-01T03:49:45.206Z","avatar_url":"https://github.com/TemoaProject.png","language":"Python","category":"Energy Systems","sub_category":"Energy System Modeling Frameworks","monthly_downloads":107,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# TEMOA\n\n[![PyPI](https://img.shields.io/pypi/v/temoa?label=pypi%20package)](https://pypi.org/project/temoa/)\n[![CI](https://github.com/TemoaProject/temoa/actions/workflows/ci.yml/badge.svg?branch=unstable)](https://github.com/TemoaProject/temoa/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/TemoaProject/temoa/graph/badge.svg?token=ZAXU1VM8YN)](https://codecov.io/gh/TemoaProject/temoa)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/TemoaProject/temoa/main.svg)](https://results.pre-commit.ci/latest/github/TemoaProject/temoa/main)\n[![Documentation Status](https://readthedocs.org/projects/temoa/badge/?version=latest)](https://temoa.readthedocs.io/en/latest/?badge=latest)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12%2B-blue)](https://pyreadiness.org/3.12/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Type Checked with mypy](https://img.shields.io/badge/type--checked-mypy-blue?style=flat-square\u0026logo=python)](https://img.shields.io/badge/type--checked-mypy-blue?style=flat-square\u0026logo=python)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n\n## Overview\n\nTEMOA (Tools for Energy Model Optimization and Analysis) is a sophisticated energy systems optimization framework that supports various modeling approaches including perfect foresight, myopic planning, uncertainty analysis, and alternative generation.\n\n## Quick Start\n\n### Standard Installation\n\n```bash\n# Install from PyPI in a virtual environment\npython -m venv .venv\n\n# Activate virtual environment\n# On Linux/Mac:\nsource .venv/bin/activate\n# On Windows:\n.venv\\Scripts\\activate\n\n# Install temoa\npip install temoa\n```\n\n### Get Started in 30 Seconds\n\nIn a virtual env with temoa installed, run:\n\n```bash\n# Create tutorial files in the current directory\n# Creates tutorial_config.toml and tutorial_database.sqlite\ntemoa tutorial\n\n# Run the model\ntemoa run tutorial_config.toml\n```\n\n## Package Structure\n\nThe Temoa package is organized into clear modules:\n\n- **`temoa.core`** - Public API for end users (TemoaModel, TemoaConfig, TemoaMode)\n- **`temoa.cli`** - Command-line interface and utilities\n- **`temoa.components`** - Model components and constraints\n- **`temoa.data_io`** - Data loading and validation\n- **`temoa.extensions`** - Optional extensions for different modeling approaches\n  - `modeling_to_generate_alternatives` - MGA analysis\n  - `method_of_morris` - Sensitivity analysis\n  - `monte_carlo` - Uncertainty quantification\n  - `myopic` - Sequential decision making\n- **`temoa.model_checking`** - Model validation and integrity checking\n- **`temoa.data_processing`** - Output analysis and visualization\n- **`temoa.utilities`** - Helper scripts and migration tools\n\n## Installation \u0026 Setup\n\n### Development Installation\n\nFor users who want to contribute to or modify Temoa should install in development mode using `uv`:\n\n```bash\n# Install uv if you haven't already\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n```\n\n```bash\n# Clone repository\ngit clone https://github.com/TemoaProject/temoa.git\ncd temoa\n\n# Setup development environment with uv\nuv sync --all-extras --dev\n\n# Install pre-commit hooks\nuv run pre-commit install\n\n# Run tests\nuv run pytest\n\n# Run type checking\nuv run mypy\n```\n\n## Command Line Interface\n\nTemoa provides a modern, user-friendly CLI built with Typer:\n\n### Basic Commands\n\n**Run a model:**\n\n```bash\ntemoa run tutorial_config.toml\ntemoa run tutorial_config.toml --output results/\ntemoa run tutorial_config.toml --build-only  # Build without solving\n```\n\n**Validate configuration:**\n\n```bash\ntemoa validate tutorial_config.toml\ntemoa validate tutorial_config.toml --debug\n```\n\n**Database migration:**\n\n```bash\ntemoa migrate old_database.sql --output new_database.sql\ntemoa migrate old_database.db --type db\ntemoa migrate old_database.sqlite --output migrated_v4.sqlite\n```\n\n**Generate tutorial files:**\n\n```bash\ntemoa tutorial                    # Creates tutorial_config.toml and tutorial_database.sqlite\ntemoa tutorial my_model my_db     # Custom names\n```\n\n### Global Options\n\n```bash\ntemoa --version                   # Show version information\ntemoa --how-to-cite              # Show citation information\ntemoa --help                     # Full help\n```\n\n### Using with uv\n\nWhen working with the source code, use `uv run` to ensure you're using the correct dependencies:\n\n```bash\nuv run temoa run tutorial_config.toml      # Run with project dependencies\nuv run temoa validate tutorial_config.toml # Validate configuration\nuv run temoa tutorial             # Create tutorial files\n```\n\n## Programmatic Usage\n\nYou can use Temoa as a Python library:\n\n```python\nimport temoa\nfrom pathlib import Path\nfrom temoa import TemoaModel, TemoaConfig, TemoaMode\n\n# Create configuration\nconfig = TemoaConfig(\n    scenario=\"my_scenario\",\n    scenario_mode=TemoaMode.PERFECT_FORESIGHT,\n    input_database=Path(\"path/to/input.db\"),\n    output_database=Path(\"path/to/output.db\"),\n    output_path=Path(\"path/to/output\"),\n    solver_name=\"appsi_highs\"\n)\n\n# Build and solve model\nmodel = TemoaModel(config)\nresult = model.run()  # Equivalent to: temoa run tutorial_config.toml\n\n# Check if run was successful\nif result:\n    print(\"Model solved successfully!\")\nelse:\n    print(\"Model failed to solve\")\n```\n\n## Database Setup\n\n### Quick Setup with Tutorial\n\nThe fastest way to get started:\n\n```bash\ntemoa tutorial\n```\n\nThis creates:\n\n- `tutorial_config.toml` - Configuration file with example settings\n- `tutorial_database.sqlite` - Sample database for learning\n\n**Migration from older versions:**\n\n```bash\n# Migrate from v3.1 to v4\ntemoa migrate old_database_v3.1.sql --output new_database_v4.sql\n\n# or for SQLite databases\ntemoa migrate old_database_v4.sqlite --output new_database_v4.sqlite\n```\n\n## Configuration Files\n\nA configuration file is required to run the model. The tutorial command creates a complete example:\n\n```toml\nscenario = \"tutorial\"\nscenario_mode = \"perfect_foresight\"\ninput_database = \"tutorial_database.sqlite\"\noutput_database = \"tutorial_database.sqlite\"\nsolver_name = \"appsi_highs\"\n```\n\n### Configuration Options\n\n| Field | Notes |\n|-------|-------|\n| Scenario Name | Name used in output tables (cannot contain '-' symbol) |\n| Temoa Mode | Execution mode (PERFECT_FORESIGHT, MYOPIC, MGA, etc.) |\n| Input/Output DB | Source and output database paths |\n| Price Checking | Run pricing analysis on built model |\n| Source Tracing | Verify commodity flow network integrity |\n| Plot Network | Generate HTML network visualizations |\n| Solver | Solver executable name (appsi_highs, cbc, gurobi, cplex, etc.) |\n| Save Excel | Export core output to Excel files |\n| Save LP | Save LP model files for external solving |\n\n## Supported Modes\n\n### Perfect Foresight\n\nSolves the entire model at once. Most common mode for optimization.\n\n### Myopic\n\nSequential solving through iterative builds. Required for stepwise decision analysis.\n\n### MGA (Modeling to Generate Alternatives)\n\nExplores near cost-optimal solutions for robustness analysis.\n\n### SVMGA (Single Vector MGA)\n\nTwo-solve process focusing on specific variables in the objective.\n\n### Method of Morris\n\nLimited sensitivity analysis of user-selected variables.\n\n### Build Only\n\nBuilds model without solving. Useful for validation and troubleshooting.\n\n## Typical Workflow\n\n1. **Setup**: Create configuration and database files:\n\n   ```bash\n   temoa tutorial\n   ```\n\n2. **Configure**: Edit the configuration file to match your scenario\n\n3. **Validate**: Check configuration before running:\n\n   ```bash\n   temoa validate tutorial_config.toml\n   ```\n\n4. **Run**: Execute the model:\n\n   ```bash\n   temoa run tutorial_config.toml\n   ```\n\n5. **Review**: Check results in `output_files/YYYY-MM-DD_HHMMSS/`\n\n6. **Iterate**: Modify configuration and run again\n\n## Advanced Features\n\n### Extensions\n\nTemoa includes optional extensions for advanced analysis:\n\n- **Monte Carlo**: Uncertainty quantification\n- **Stochastic Programming**: Scenario-based optimization\n- **Method of Morris**: Sensitivity analysis\n\n### Data Processing\n\n- Excel output generation\n- Graphviz network visualization\n- Interactive network diagrams\n\n### Model Validation\n\n- Built-in validation checks\n- Commodity flow verification\n- Price consistency analysis\n\n### Solver Dependencies\n\nTEMOA requires at least one optimization solver:\n\n- **Free**: [HiGHS](https://ergo-code.github.io/HiGHS/)\n  - Included via the `highspy` Python package (automatically installed with Temoa)\n  - Default solver for tutorial and testing\n\n- **Free**: [CBC](https://github.com/coin-or/Cbc)\n  - Requires separate installation (see [CBC documentation](https://github.com/coin-or/Cbc))\n  - Alternative free solver option\n\n- **Commercial**: Gurobi, CPLEX, or Xpress\n  - Requires separate license and installation\n  - See individual solver documentation\n\n## Troubleshooting\n\n### Solver Issues\n\nIf you encounter solver errors:\n\n```bash\n# For commercial solvers (Gurobi, CPLEX)\npip install \".[solver]\"  # Include specific solver packages\n\n# For free solver\ntemoa run tutorial_config.toml --debug  # Get detailed error information\n```\n\n## Documentation \u0026 Support\n\n- **Full Documentation**: Built by following docs/README.md\n- **API Reference**: See `temoa.core` module for public API\n- **GitHub Issues**: Report bugs and request features\n- **Tutorials**: Run `temoa tutorial` for guided examples\n\n## Code Style \u0026 Quality\n\nFor contributors:\n\n- **Ruff**: Code formatting and linting\n- **mypy**: Type checking\n- **pytest**: Testing framework\n- **Pre-commit**: Automated quality checks\n\nSee CONTRIBUTING.md for detailed development guidelines.\n\n## Citation\n\nIf you use Temoa in your research, please cite:\n\n```bibtex\n@article{hunter2013modeling,\n  title={Modeling for insight using Tools for Energy Model Optimization and Analysis (Temoa)},\n  journal={Energy Economics},\n  volume={40},\n  pages={339--349},\n  year={2013},\n  doi={10.1016/j.eneco.2013.07.014}\n}\n```\n\nOr use: `temoa --how-to-cite`\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"}