{"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-05-26T20:30:20.537Z","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-05-18T07:56:16.000Z","size":3304,"stargazers_count":2,"open_issues_count":27,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T11:29:23.713Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fbumann.github.io/fluxopt/","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-18T07:55:36.000Z","dependencies_parsed_at":"2026-05-05T10:00:31.981Z","dependency_job_id":null,"html_url":"https://github.com/FBumann/fluxopt","commit_stats":null,"previous_names":["fbumann/fluxopt"],"tags_count":7,"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":33309600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"ssl_error","status_checked_at":"2026-05-21T12:22:11.673Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"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":2,"first_release_published_at":"2026-02-20T12:19:25.000Z","latest_release_published_at":"2026-03-11T07:31:49.000Z","latest_release_number":"0.0.3a0","last_synced_at":"2026-05-23T19:00:50.953Z","created_at":"2026-02-23T00:08:27.203Z","updated_at":"2026-05-23T19:00:50.953Z","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-05-18T07:56:16.000Z","size":3304,"stargazers_count":2,"open_issues_count":27,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T11:29:23.713Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fbumann.github.io/fluxopt/","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-18T07:55:36.000Z","dependencies_parsed_at":"2026-05-05T10:00:31.981Z","dependency_job_id":null,"html_url":"https://github.com/FBumann/fluxopt","commit_stats":null,"previous_names":["fbumann/fluxopt"],"tags_count":7,"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":33309600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"ssl_error","status_checked_at":"2026-05-21T12:22:11.673Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"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":[]},"repo_metadata_updated_at":"2026-05-21T18:10:21.535Z","dependent_packages_count":0,"downloads":70,"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-05-19T17:11:48.262Z","issues_count":6,"pull_requests_count":30,"avg_time_to_close_issue":21636.0,"avg_time_to_close_pull_request":414469.9090909091,"issues_closed_count":1,"pull_requests_closed_count":22,"pull_request_authors_count":3,"issue_authors_count":1,"avg_comments_per_issue":0.3333333333333333,"avg_comments_per_pull_request":1.3,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":16,"past_year_issues_count":6,"past_year_pull_requests_count":30,"past_year_avg_time_to_close_issue":21636.0,"past_year_avg_time_to_close_pull_request":414469.9090909091,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":22,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.3333333333333333,"past_year_avg_comments_per_pull_request":1.3,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":16,"past_year_merged_pull_requests_count":13,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBumann%2Ffluxopt/issues","maintainers":[{"login":"FBumann","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}],"active_maintainers":[{"login":"FBumann","count":20,"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":4,"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":871091,"maintainers_count":372439,"namespaces_count":0,"keywords_count":280639,"github":"pypi","metadata":{"funded_packages_count":53810},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-05-13T05:09:37.527Z","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":122,"total_committers":4,"total_bot_commits":20,"total_bot_committers":2,"mean_commits":30.5,"dds":0.17213114754098358,"past_year_total_commits":122,"past_year_total_committers":4,"past_year_total_bot_commits":20,"past_year_total_bot_committers":2,"past_year_mean_commits":30.5,"past_year_dds":0.17213114754098358,"last_synced_at":"2026-05-23T19:01:39.374Z","last_synced_commit":"d43021182a87d956d51afb48d0702355b756a841","created_at":"2026-03-31T01:01:11.261Z","updated_at":"2026-05-23T19:01:02.336Z","committers":[{"name":"FBumann","email":"117816358+FBumann","login":"FBumann","count":101},{"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":5},{"name":"GitButler","email":"gitbutler@gitbutler.com","login":"gitbutler-client","count":1}],"past_year_committers":[{"name":"FBumann","email":"117816358+FBumann","login":"FBumann","count":101},{"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":5},{"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-05-25T00:00:11.816Z","repositories_count":6241625,"commits_count":883116311,"contributors_count":34917240,"owners_count":1157431,"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-05-23T19:00:45.497Z","status":"active","issues_count":6,"pull_requests_count":31,"avg_time_to_close_issue":21636.0,"avg_time_to_close_pull_request":414469.9090909091,"issues_closed_count":1,"pull_requests_closed_count":22,"pull_request_authors_count":3,"issue_authors_count":1,"avg_comments_per_issue":0.3333333333333333,"avg_comments_per_pull_request":1.2580645161290323,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":17,"past_year_issues_count":6,"past_year_pull_requests_count":31,"past_year_avg_time_to_close_issue":21636.0,"past_year_avg_time_to_close_pull_request":414469.9090909091,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":22,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.3333333333333333,"past_year_avg_comments_per_pull_request":1.2580645161290323,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":17,"past_year_merged_pull_requests_count":13,"created_at":"2026-02-13T16:00:09.172Z","updated_at":"2026-05-23T19:00:45.497Z","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":{"area:api":2,"type:feat":2,"area:storage":1,"area:new":1,"area:multi-period":1,"type:docs":1},"pull_request_labels_count":{"dependencies":13,"type:docs":7,"autorelease: pending":2},"issue_author_associations_count":{"OWNER":6},"pull_request_author_associations_count":{"CONTRIBUTOR":17,"OWNER":14},"issue_authors":{"FBumann":6},"pull_request_authors":{"dependabot[bot]":15,"FBumann":14,"fluxopt-release[bot]":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-25T00:00:55.688Z","repositories_count":14699969,"issues_count":34049387,"pull_requests_count":111431073,"authors_count":11273921,"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":2,"type:feat":2,"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":2},"past_year_issue_author_associations_count":{"OWNER":6},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":17,"OWNER":14},"past_year_issue_authors":{"FBumann":6},"past_year_pull_request_authors":{"dependabot[bot]":15,"FBumann":14,"fluxopt-release[bot]":2},"maintainers":[{"login":"FBumann","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}],"active_maintainers":[{"login":"FBumann","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/FBumann"}]},"events":{"total":{"DeleteEvent":15,"PullRequestEvent":42,"IssuesEvent":55,"IssueCommentEvent":33,"PushEvent":153,"PullRequestReviewCommentEvent":32,"PullRequestReviewEvent":18,"CreateEvent":45},"last_year":{"DeleteEvent":15,"PullRequestEvent":42,"IssuesEvent":55,"IssueCommentEvent":33,"PushEvent":153,"PullRequestReviewCommentEvent":32,"PullRequestReviewEvent":18,"CreateEvent":45}},"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":9.01627006814768,"created_at":"2026-03-29T00:03:49.602Z","updated_at":"2026-05-27T00:05:40.238Z","avatar_url":"https://github.com/FBumann.png","language":"Python","category":"Energy Systems","sub_category":"Energy System Modeling Frameworks","monthly_downloads":70,"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     (examples)\n    plotting      YAML+CSV      time series     cross-package\n   (plotly)       loader       aggregation       notebooks\n```\n\nCompanion packages depend on core — core has no knowledge of companions.\n\n### Milestones\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| `fluxopt-plot` package | Interactive plotly visualization as companion package | [Scaffolded](https://fbumann.github.io/fluxopt-plot/latest/) | [#51](https://github.com/FBumann/fluxopt/issues/51) |\n| `fluxopt-yaml` package | Declarative model definition via YAML + CSV | [Scaffolded](https://fbumann.github.io/fluxopt-yaml/latest/) | [#52](https://github.com/FBumann/fluxopt/issues/52) |\n| `fluxopt-tsam` package | Time series aggregation preprocessing | Planned | — |\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| `fluxopt-yaml` | **Experimental** | Own versioning. YAML schema may change. |\n| `fluxopt-plot` | **Experimental** | Own versioning. Method signatures may change. |\n| `fluxopt-tsam` | **Independent** | Fully independent semver. |\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"}