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

README.md

fluxopt

Energy system optimization with linopy — detailed dispatch, scaled to multi period planning.

PyPI
Downloads
License: MIT
Python 3.12+
Ruff

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


GitHub Events

Total
Last Year

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 Email 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

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/fbumann/fluxopt

Top Issue Authors

Top Pull Request Authors

  • dependabot[bot] (2)

Top Issue Labels

Top Pull Request Labels


Package metadata

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