{"id":349837,"name":"fluxopt","description":"Energy system optimization with linopy — detailed dispatch, scaled to multi period planning.","url":"https://github.com/fbumann/fluxopt","last_synced_at":"2026-06-13T05:00:40.522Z","repository":{"id":338178965,"uuid":"1156664066","full_name":"FBumann/fluxopt","owner":"FBumann","description":"Successor of flixopt with a new datamodel","archived":false,"fork":false,"pushed_at":"2026-06-05T23:43:52.000Z","size":3316,"stargazers_count":2,"open_issues_count":36,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T02:02:56.860Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fluxopt.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FBumann.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-12T22:54:29.000Z","updated_at":"2026-05-31T20:28:38.000Z","dependencies_parsed_at":"2026-06-07T02:00:39.222Z","dependency_job_id":null,"html_url":"https://github.com/FBumann/fluxopt","commit_stats":null,"previous_names":["fbumann/fluxopt"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/FBumann/fluxopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBumann","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34041143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"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":"FBumann","name":null,"uuid":"117816358","kind":"user","description":null,"email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/117816358?v=4","repositories_count":1,"last_synced_at":"2023-12-19T18:01:32.842Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/FBumann","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-12-19T18:01:32.844Z","updated_at":"2023-12-19T18:01:32.844Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBumann","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBumann/repositories"},"packages":[{"id":13877391,"name":"fluxopt","ecosystem":"pypi","description":"Energy system optimization with linopy — progressive modeling, from simple to complex.","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/FBumann/fluxopt","keywords_array":["energy systems","linear programming","linopy","optimization"],"namespace":null,"versions_count":3,"first_release_published_at":"2026-02-20T12:19:25.000Z","latest_release_published_at":"2026-05-31T17:31:49.000Z","latest_release_number":"0.0.8","last_synced_at":"2026-06-11T04:00:39.478Z","created_at":"2026-02-23T00:08:27.203Z","updated_at":"2026-06-11T04:02:23.780Z","registry_url":"https://pypi.org/project/fluxopt/","install_command":"pip install fluxopt --index-url https://pypi.org/simple","documentation_url":"https://fluxopt.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 3 - Alpha","Intended Audience :: Developers","Intended Audience :: Science/Research","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Topic :: Scientific/Engineering"],"normalized_name":"fluxopt","project_status":null},"repo_metadata":{"id":338178965,"uuid":"1156664066","full_name":"FBumann/fluxopt","owner":"FBumann","description":"Successor of flixopt with a new datamodel","archived":false,"fork":false,"pushed_at":"2026-06-05T23:43:52.000Z","size":3316,"stargazers_count":2,"open_issues_count":36,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T02:02:56.860Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fluxopt.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FBumann.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-12T22:54:29.000Z","updated_at":"2026-05-31T20:28:38.000Z","dependencies_parsed_at":"2026-06-07T02:00:39.222Z","dependency_job_id":null,"html_url":"https://github.com/FBumann/fluxopt","commit_stats":null,"previous_names":["fbumann/fluxopt"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/FBumann/fluxopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBumann","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34089329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"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":"FBumann","name":null,"uuid":"117816358","kind":"user","description":null,"email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/117816358?v=4","repositories_count":1,"last_synced_at":"2023-12-19T18:01:32.842Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/FBumann","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-12-19T18:01:32.844Z","updated_at":"2023-12-19T18:01:32.844Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBumann","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBumann/repositories"},"tags":[{"name":"v0.0.8","sha":"0a3966a4eb2eed68639f675ab343097d0feb7aa1","kind":"commit","published_at":"2026-05-31T17:31:11.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.8","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.8/manifests"},{"name":"v0.0.7-alpha.0","sha":"533a2b336bdd3a99cab9b7ec631dbb434c9af6e0","kind":"commit","published_at":"2026-04-29T14:31:17.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.7-alpha.0","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.7-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.7-alpha.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.7-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.7-alpha.0/manifests"},{"name":"v0.0.6-alpha.0","sha":"10c071e5ca1e163be823bec47052205aaaec5736","kind":"commit","published_at":"2026-03-15T19:36:14.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.6-alpha.0","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.6-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.6-alpha.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.6-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.6-alpha.0/manifests"},{"name":"v0.0.5-alpha.0","sha":"39913c4da14fb4dac4968a77010a2742cd0b9cac","kind":"commit","published_at":"2026-03-14T11:17:18.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.5-alpha.0","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.5-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.5-alpha.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.5-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.5-alpha.0/manifests"},{"name":"v0.0.4-alpha.1","sha":"86d2d9eebdcced93fdf2cb1a2d2d5fd3a81a441f","kind":"commit","published_at":"2026-03-13T18:43:49.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.4-alpha.1","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.4-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.4-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.4-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.4-alpha.1/manifests"},{"name":"v0.0.4-alpha.0","sha":"3a25a635eaf4269419988d144e6eb6d6273d125e","kind":"commit","published_at":"2026-03-13T15:02:48.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.4-alpha.0","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.4-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.4-alpha.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.4-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.4-alpha.0/manifests"},{"name":"v0.0.3-alpha.0","sha":"908c2ae5c9b27ef3e3feca424884afe19e5a3314","kind":"commit","published_at":"2026-03-11T07:31:16.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.3-alpha.0","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.3-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.3-alpha.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.3-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.3-alpha.0/manifests"},{"name":"v0.0.1rc0","sha":"7df3fc2e85c9d24dd9d8ca9d17d086fa287fe383","kind":"commit","published_at":"2026-02-20T12:13:53.000Z","download_url":"https://codeload.github.com/FBumann/fluxopt/tar.gz/v0.0.1rc0","html_url":"https://github.com/FBumann/fluxopt/releases/tag/v0.0.1rc0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/FBumann/fluxopt@v0.0.1rc0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.1rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/tags/v0.0.1rc0/manifests"}]},"repo_metadata_updated_at":"2026-06-11T04:02:23.779Z","dependent_packages_count":0,"downloads":383,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":29.361199793415043,"dependent_repos_count":44.1064144280237,"dependent_packages_count":7.800381659342776,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.089331960260505},"purl":"pkg:pypi/fluxopt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/fluxopt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/fluxopt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/fluxopt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-06-09T03:00:37.534Z","issues_count":13,"pull_requests_count":33,"avg_time_to_close_issue":21636.0,"avg_time_to_close_pull_request":494633.5833333333,"issues_closed_count":1,"pull_requests_closed_count":24,"pull_request_authors_count":4,"issue_authors_count":1,"avg_comments_per_issue":0.15384615384615385,"avg_comments_per_pull_request":1.4242424242424243,"merged_pull_requests_count":15,"bot_issues_count":0,"bot_pull_requests_count":17,"past_year_issues_count":13,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":21636.0,"past_year_avg_time_to_close_pull_request":494633.5833333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":24,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.15384615384615385,"past_year_avg_comments_per_pull_request":1.4242424242424243,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":17,"past_year_merged_pull_requests_count":15,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/issues","maintainers":[{"login":"FBumann","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}],"active_maintainers":[{"login":"FBumann","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/fluxopt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/fluxopt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/fluxopt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/fluxopt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/fluxopt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/fluxopt/codemeta","maintainers":[{"uuid":"FBumann","login":"FBumann","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/FBumann/","role":"Owner","created_at":"2026-02-23T00:12:18.476Z","updated_at":"2026-02-23T00:12:18.476Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/FBumann/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":883832,"maintainers_count":378436,"namespaces_count":0,"keywords_count":289179,"github":"pypi","metadata":{"funded_packages_count":54301},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-06-10T05:13:28.296Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":11702076,"full_name":"fbumann/fluxopt","default_branch":"master","total_commits":125,"total_committers":4,"total_bot_commits":21,"total_bot_committers":2,"mean_commits":31.25,"dds":0.17600000000000005,"past_year_total_commits":125,"past_year_total_committers":4,"past_year_total_bot_commits":21,"past_year_total_bot_committers":2,"past_year_mean_commits":31.25,"past_year_dds":0.17600000000000005,"last_synced_at":"2026-06-12T20:19:03.879Z","last_synced_commit":"0a3966a4eb2eed68639f675ab343097d0feb7aa1","created_at":"2026-03-31T01:01:11.261Z","updated_at":"2026-06-12T20:19:00.613Z","committers":[{"name":"FBumann","email":"117816358+FBumann","login":"FBumann","count":103},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":15},{"name":"fluxopt-release[bot]","email":"267260463+fluxopt-release[bot]","login":"fluxopt-release[bot]","count":6},{"name":"GitButler","email":"gitbutler@gitbutler.com","login":"gitbutler-client","count":1}],"past_year_committers":[{"name":"FBumann","email":"117816358+FBumann","login":"FBumann","count":103},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":15},{"name":"fluxopt-release[bot]","email":"267260463+fluxopt-release[bot]","login":"fluxopt-release[bot]","count":6},{"name":"GitButler","email":"gitbutler@gitbutler.com","login":"gitbutler-client","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbumann%2Ffluxopt/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-13T00:00:12.063Z","repositories_count":6257917,"commits_count":882318665,"contributors_count":35075763,"owners_count":1165806,"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":"FBumann/fluxopt","html_url":"https://github.com/FBumann/fluxopt","last_synced_at":"2026-06-13T02:02:17.640Z","status":null,"issues_count":13,"pull_requests_count":33,"avg_time_to_close_issue":21636.0,"avg_time_to_close_pull_request":494633.5833333333,"issues_closed_count":1,"pull_requests_closed_count":24,"pull_request_authors_count":4,"issue_authors_count":1,"avg_comments_per_issue":0.15384615384615385,"avg_comments_per_pull_request":1.4242424242424243,"merged_pull_requests_count":15,"bot_issues_count":0,"bot_pull_requests_count":17,"past_year_issues_count":13,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":21636.0,"past_year_avg_time_to_close_pull_request":494633.5833333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":24,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.15384615384615385,"past_year_avg_comments_per_pull_request":1.4242424242424243,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":17,"past_year_merged_pull_requests_count":15,"created_at":"2026-02-13T16:00:09.172Z","updated_at":"2026-06-13T02:02:17.640Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/issues","issue_labels_count":{"type:feat":8,"area:api":8,"good first issue":4,"area:io":3,"type:docs":1,"area:multi-period":1,"area:new":1,"area:storage":1},"pull_request_labels_count":{"dependencies":13,"type:docs":7,"autorelease: tagged":1,"type:feat":1,"type:fix":1,"autorelease: pending":1},"issue_author_associations_count":{"OWNER":13},"pull_request_author_associations_count":{"CONTRIBUTOR":17,"OWNER":15,"NONE":1},"issue_authors":{"FBumann":13},"pull_request_authors":{"FBumann":15,"dependabot[bot]":15,"fluxopt-release[bot]":2,"Shaan-alpha":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-13T00:00:21.539Z","repositories_count":14795794,"issues_count":33223932,"pull_requests_count":109567713,"authors_count":11303636,"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":{"area:api":8,"type:feat":8,"good first issue":4,"area:io":3,"area:multi-period":1,"area:new":1,"area:storage":1,"type:docs":1},"past_year_pull_request_labels_count":{"dependencies":13,"type:docs":7,"autorelease: pending":1,"autorelease: tagged":1,"type:feat":1,"type:fix":1},"past_year_issue_author_associations_count":{"OWNER":13},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":17,"OWNER":15,"NONE":1},"past_year_issue_authors":{"FBumann":13},"past_year_pull_request_authors":{"dependabot[bot]":15,"FBumann":15,"fluxopt-release[bot]":2,"Shaan-alpha":1},"maintainers":[{"login":"FBumann","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}],"active_maintainers":[{"login":"FBumann","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}]},"events":{"total":{"DeleteEvent":16,"PullRequestEvent":45,"IssuesEvent":55,"IssueCommentEvent":33,"PushEvent":157,"PullRequestReviewCommentEvent":32,"PullRequestReviewEvent":18,"CreateEvent":46},"last_year":{"DeleteEvent":16,"PullRequestEvent":45,"IssuesEvent":55,"IssueCommentEvent":33,"PushEvent":157,"PullRequestReviewCommentEvent":32,"PullRequestReviewEvent":18,"CreateEvent":46}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-04-02T06:01:01.955Z","updated_at":"2026-04-02T06:01:01.955Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/pyproject.toml","dependencies":[{"id":25852183165,"package_name":"highspy","ecosystem":"pypi","requirements":"\u003e=1.13.1","direct":true,"kind":"runtime","optional":false},{"id":25852183177,"package_name":"linopy","ecosystem":"pypi","requirements":"@ git+https://github.com/PyPSA/linopy.git@f53d1968e53d70962eb208b01c3f938f693f0083","direct":true,"kind":"runtime","optional":false},{"id":25852183345,"package_name":"netcdf4","ecosystem":"pypi","requirements":"\u003e=1.6.0","direct":true,"kind":"runtime","optional":false},{"id":25852183350,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.26","direct":true,"kind":"runtime","optional":false},{"id":25852183351,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=2.1","direct":true,"kind":"runtime","optional":false},{"id":25852183352,"package_name":"xarray","ecosystem":"pypi","requirements":"\u003e=2024.1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/dependabot-auto-merge.yaml","sha":null,"kind":"manifest","created_at":"2026-04-02T06:01:01.739Z","updated_at":"2026-04-02T06:01:01.739Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/.github/workflows/dependabot-auto-merge.yaml","dependencies":[{"id":25852183142,"package_name":"dependabot/fetch-metadata","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25852183143,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yaml","sha":null,"kind":"manifest","created_at":"2026-04-02T06:01:01.491Z","updated_at":"2026-04-02T06:01:01.491Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/.github/workflows/ci.yaml","dependencies":[{"id":25852183128,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25852183129,"package_name":"astral-sh/ruff-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25852183136,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25852183137,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25852183141,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-title.yaml","sha":null,"kind":"manifest","created_at":"2026-04-02T06:01:01.791Z","updated_at":"2026-04-02T06:01:01.791Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/.github/workflows/pr-title.yaml","dependencies":[{"id":25852183145,"package_name":"amannn/action-semantic-pull-request","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yaml","sha":null,"kind":"manifest","created_at":"2026-04-02T06:01:01.904Z","updated_at":"2026-04-02T06:01:01.904Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/.github/workflows/release.yaml","dependencies":[{"id":25852183157,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25852183158,"package_name":"googleapis/release-please-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yaml","sha":null,"kind":"manifest","created_at":"2026-04-02T06:01:01.851Z","updated_at":"2026-04-02T06:01:01.851Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/.github/workflows/publish.yaml","dependencies":[{"id":25852183149,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25852183150,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false},{"id":25852183151,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25852183152,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/label-from-title.yaml","sha":null,"kind":"manifest","created_at":"2026-05-05T10:00:31.852Z","updated_at":"2026-05-05T10:00:31.852Z","repository_link":"https://github.com/FBumann/fluxopt/blob/main/.github/workflows/label-from-title.yaml","dependencies":[]}],"score":10.974523073434003,"created_at":"2026-03-29T00:03:49.602Z","updated_at":"2026-06-13T05:00:40.532Z","avatar_url":"https://github.com/FBumann.png","language":"Python","category":"Energy Systems","sub_category":"Energy System Modeling Frameworks","monthly_downloads":383,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# fluxopt\n\nEnergy system optimization with [linopy](https://github.com/PyPSA/linopy) — detailed dispatch, scaled to multi period planning.\n\n[![PyPI](https://img.shields.io/pypi/v/fluxopt)](https://pypi.org/project/fluxopt/)\n[![Downloads](https://img.shields.io/pypi/dm/fluxopt)](https://pypi.org/project/fluxopt/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\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\n\u003e **Early development** — the API may change between releases.\n\u003e Planned features and progress are tracked in [Issues](https://github.com/FBumann/fluxopt/issues).\n\n## Installation\n\n```bash\npip install fluxopt\n```\n\nIncludes the [HiGHS](https://highs.dev/) solver out of the box.\n\n## Quick Start\n\n\u003c!--quickstart-start--\u003e\n```python\n# A gas boiler covers a heat demand, minimizing fuel cost\nfrom datetime import datetime\nfrom fluxopt import Carrier, Converter, Effect, Flow, Port, optimize\n\nresult = optimize(\n    timesteps=[datetime(2024, 1, 1, h) for h in range(4)],\n    carriers=[Carrier('gas'), Carrier('heat')],\n    effects=[Effect('cost')],\n    ports=[\n        Port('grid', imports=[\n            Flow('gas', size=500, effects_per_flow_hour={'cost': 0.04})\n        ]),\n        Port('demand', exports=[\n            Flow('heat', size=100, fixed_relative_profile=[0.4, 0.7, 0.5, 0.6])\n        ])\n    ],\n    converters=[\n        Converter.boiler(\n            'boiler',\n            thermal_efficiency=0.9,\n            fuel_flow=Flow('gas', size=300),\n            thermal_flow=Flow('heat', size=200)\n        )\n    ],\n    objective_effects='cost',\n)\n\nprint(f\"Total cost: {result.objective:.2f}\")\nprint(result.flow_rates)\n```\n\u003c!--quickstart-end--\u003e\n\n## Roadmap\n\nfluxopt is evolving into a family of packages with a lean core and optional companions:\n\n```\n                          ┌──────────────┐\n                          │   fluxopt    │  core: model building, solving, results, IO\n                          └──────┬───────┘\n        ┌──────────────┬─────────┼──────────────┬──────────────┐\n        │              │         │              │              │\n fluxopt-plot   fluxopt-yaml  fluxopt-tsam  fluxopt-marimo  (examples)\n   plotting      YAML+CSV    time series    interactive     cross-package\n   (plotly)       loader     aggregation       apps          notebooks\n```\n\nCompanion packages depend on core — core has no knowledge of companions.\n\n### Companion packages\n\n| Package | Role | Versioning · Tier | `fluxopt` pin | Status |\n|---------|------|-------------------|---------------|--------|\n| `fluxopt-plot` | Result visualization (Plotly) | Semver · Experimental — method signatures may change | Tight (`\u003e=A.B,\u003cA.C`), validated per release | Scaffolded — [docs](https://fbumann.github.io/fluxopt-plot/latest/) · [#51](https://github.com/FBumann/fluxopt/issues/51) |\n| `fluxopt-yaml` | Declarative model loader (YAML + CSV → `Element`s) | Semver · Experimental — YAML schema may change | Tight (`\u003e=A.B,\u003cA.C`), validated per release | Scaffolded — [docs](https://fbumann.github.io/fluxopt-yaml/latest/) · [#52](https://github.com/FBumann/fluxopt/issues/52) |\n| `fluxopt-tsam` | Time series aggregation — input pre-processing, possibly result disaggregation | Semver · Experimental — round-trip schema may evolve | **Undecided** — depends on whether representative-period primitives live in core (→ loose) or in this package (→ tight) | Planned |\n| `fluxopt-marimo` | Interactive exploration \u0026 dashboards (marimo apps) | CalVer (`YYYY.MM.PATCH`) · Experimental — apps are templates | Tight (`\u003e=A.B,\u003cA.C`), validated per release | Planned |\n\nTight-pinned companions release on every `fluxopt` minor; validation is\nautomated via scheduled CI. `fluxopt-tsam`'s pin policy is blocked on an\narchitectural decision — if representative-period primitives live in core, tsam stays\na thin adapter (loose pin); if they live in tsam, the package owns deep\nround-trip behavior (tight pin).\n\n### Milestones\n\nCross-cutting work not tied to a single companion package:\n\n| Milestone | Description | Status | Issue |\n|-----------|-------------|--------|-------|\n| `Result.stats` accessor | Cached xarray properties for post-processing | Planned | [#49](https://github.com/FBumann/fluxopt/issues/49) |\n| `.plot` stub on `Result` | Discoverable property, helpful error if plot package absent | Planned | [#50](https://github.com/FBumann/fluxopt/issues/50) |\n| ReadTheDocs migration | Automatic versioned docs from git tags | Planned | [#53](https://github.com/FBumann/fluxopt/issues/53) |\n| Remove plotly from core | Keep core lean — plotting deps in `fluxopt-plot` only | Planned | [#54](https://github.com/FBumann/fluxopt/issues/54) |\n\n### Stability Tiers\n\n| Component | Tier | Policy |\n|-----------|------|--------|\n| Core modeling API | **Stable** | Semver. Deprecation warnings before removal. |\n| Stats accessor | **Semi-stable** | Breaking changes allowed between minor versions with changelog entry. |\n\nCompanion packages have their own stability policies — see the table above.\n\nSee [#47](https://github.com/FBumann/fluxopt/issues/47) for the full architecture discussion.\n\n## Development\n\nRequires [uv](https://docs.astral.sh/uv/) and Python \u003e= 3.12.\n\n```bash\nuv sync --group dev      # Install deps\nuv run pytest -v         # Run tests\nuv run ruff check .      # Lint\nuv run ruff format .     # Format\n```\n\n## License\n\nMIT\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/349837","html_url":"https://ost.ecosyste.ms/projects/349837"}