fluxopt
Energy system optimization with linopy — detailed dispatch, scaled to multi period planning.
https://github.com/fbumann/fluxopt
Category: Energy Systems
Sub Category: Energy System Modeling Frameworks
Last synced: about 17 hours ago
JSON representation
Repository metadata
Successor of flixopt with a new datamodel
- Host: GitHub
- URL: https://github.com/fbumann/fluxopt
- Owner: FBumann
- License: mit
- Created: 2026-02-12T22:54:29.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-03-23T15:54:34.000Z (10 days ago)
- Last Synced: 2026-03-24T10:57:59.273Z (9 days ago)
- Language: Python
- Homepage: https://fbumann.github.io/fluxopt/
- Size: 3.02 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 27
- Releases: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
README.md
fluxopt
Energy system optimization with linopy — detailed dispatch, scaled to multi period planning.
Early development — the API may change between releases.
Planned features and progress are tracked in Issues.
Installation
pip install fluxopt
Includes the HiGHS solver out of the box.
Quick Start
from datetime import datetime, timedelta
import fluxopt as fx
timesteps = [datetime(2024, 1, 1) + timedelta(hours=i) for i in range(4)]
result = fx.optimize(
timesteps=timesteps,
carriers=[fx.Carrier('electricity')],
effects=[fx.Effect('cost', is_objective=True)],
ports=[
fx.Port('grid', imports=[
fx.Flow('electricity', size=200, effects_per_flow_hour={'cost': 0.04}),
]),
fx.Port('demand', exports=[
fx.Flow('electricity', size=100, fixed_relative_profile=[0.5, 0.8, 1.0, 0.6]),
]),
],
)
Roadmap
fluxopt is evolving into a family of packages with a lean core and optional companions:
┌──────────────┐
│ fluxopt │ core: model building, solving, results, IO
└──────┬───────┘
┌───────────┬──┴──────────┬────────────────┐
│ │ │ │
fluxopt-plot fluxopt-yaml fluxopt-tsam (examples)
plotting YAML+CSV time series cross-package
(plotly) loader aggregation notebooks
Companion packages depend on core — core has no knowledge of companions.
Milestones
| Milestone | Description | Status | Issue |
|---|---|---|---|
Result.stats accessor |
Cached xarray properties for post-processing | Planned | #49 |
.plot stub on Result |
Discoverable property, helpful error if plot package absent | Planned | #50 |
fluxopt-plot package |
Interactive plotly visualization as companion package | Scaffolded | #51 |
fluxopt-yaml package |
Declarative model definition via YAML + CSV | Scaffolded | #52 |
fluxopt-tsam package |
Time series aggregation preprocessing | Planned | — |
| ReadTheDocs migration | Automatic versioned docs from git tags | Planned | #53 |
| Remove plotly from core | Keep core lean — plotting deps in fluxopt-plot only |
Planned | #54 |
Stability Tiers
| Component | Tier | Policy |
|---|---|---|
| Core modeling API | Stable | Semver. Deprecation warnings before removal. |
| Stats accessor | Semi-stable | Breaking changes allowed between minor versions with changelog entry. |
fluxopt-yaml |
Experimental | Own versioning. YAML schema may change. |
fluxopt-plot |
Experimental | Own versioning. Method signatures may change. |
fluxopt-tsam |
Independent | Fully independent semver. |
See #47 for the full architecture discussion.
Development
Requires uv and Python >= 3.12.
uv sync --group dev # Install deps
uv run pytest -v # Run tests
uv run ruff check . # Lint
uv run ruff format . # Format
License
MIT
Owner metadata
- Name:
- Login: FBumann
- Email:
- Kind: user
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/117816358?v=4
- Repositories: 1
- Last ynced at: 2023-12-19T18:01:32.842Z
- Profile URL: https://github.com/FBumann
GitHub Events
Total
- Delete event: 8
- Pull request event: 27
- Issues event: 16
- Issue comment event: 25
- Push event: 93
- Pull request review comment event: 31
- Pull request review event: 16
- Create event: 26
Last Year
- Delete event: 8
- Pull request event: 27
- Issues event: 16
- Issue comment event: 25
- Push event: 93
- Pull request review comment event: 31
- Pull request review event: 16
- Create event: 26
Committers metadata
Last synced: 3 days ago
Total Commits: 86
Total Committers: 4
Avg Commits per committer: 21.5
Development Distribution Score (DDS): 0.163
Commits in past year: 86
Committers in past year: 4
Avg Commits per committer in past year: 21.5
Development Distribution Score (DDS) in past year: 0.163
| Name | Commits | |
|---|---|---|
| FBumann | 1****n | 72 |
| dependabot[bot] | 4****] | 9 |
| fluxopt-release[bot] | 2****] | 4 |
| GitButler | g****r@g****m | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 6 days ago
Total issues: 0
Total pull requests: 2
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 0
Total pull request authors: 1
Average comments per issue: 0
Average comments per pull request: 1.0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 2
Past year issues: 0
Past year pull requests: 2
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 1.0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 2
Top Issue Authors
Top Pull Request Authors
- dependabot[bot] (2)
Top Issue Labels
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 87 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
pypi.org: fluxopt
Energy system optimization with linopy — progressive modeling, from simple to complex.
- Homepage:
- Documentation: https://fluxopt.readthedocs.io/
- Licenses: MIT
- Latest release: 0.0.3a0 (published 22 days ago)
- Last Synced: 2026-03-25T13:21:36.869Z (8 days ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 87 Last month
-
Rankings:
- Dependent packages count: 7.8%
- Average: 27.089%
- Downloads: 29.361%
- Dependent repos count: 44.106%
- Maintainers (1)
Score: 9.195835685773302