Published August 18, 2026 | Version v0.9.1

PyPSA/linopy: v0.9.1

Description

What's Changed

  • fix(docs): repair mobile sidebar by bumping sphinx-book-theme to 1.2.0 by @FBumann in https://github.com/PyPSA/linopy/pull/779
  • feat(io): stamp linopy version into netCDF export by @FBumann in https://github.com/PyPSA/linopy/pull/780
  • fix(io): write LP bounds for tightened binary variables by @FBumann in https://github.com/PyPSA/linopy/pull/777
  • feat(model): allow {0,1} bounds for binaries in add_variables by @FBumann in https://github.com/PyPSA/linopy/pull/778
  • bench: internal performance benchmark suite + CodSpeed CI by @FBumann in https://github.com/PyPSA/linopy/pull/781
  • build(deps-dev): bump matplotlib from 3.9.1 to 3.11.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/788
  • build(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/784
  • build(deps-dev): bump sphinx from 7.3.7 to 9.0.4 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/789
  • build(deps-dev): bump pytest from 9.1.0 to 9.1.1 in the benchmark-tooling group by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/785
  • build(deps-dev): bump sphinx-rtd-theme from 2.0.0 to 3.1.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/786
  • fix(constraints): freeze empty constraint groups without reshape error by @Ketchp in https://github.com/PyPSA/linopy/pull/783
  • feat(persistent): in-place solver updates (Solver framework + HiGHS/Gurobi/Xpress/Mosek) by @FabianHofmann in https://github.com/PyPSA/linopy/pull/718
  • build(deps-dev): bump numpydoc from 1.7.0 to 1.10.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/787
  • fix(variables): Variable.where works with solution attached by @FabianHofmann in https://github.com/PyPSA/linopy/pull/790
  • chore: fix typing with new highspy version by @FBumann in https://github.com/PyPSA/linopy/pull/795
  • docs: import AGENTS.md into CLAUDE.md by @FBumann in https://github.com/PyPSA/linopy/pull/794
  • feat(piecewise): active_fill for partial active gates (alt. to #797, #796) by @FBumann in https://github.com/PyPSA/linopy/pull/798
  • build(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/807
  • bench: arithmetic operation micro-benchmarks by @FBumann in https://github.com/PyPSA/linopy/pull/805
  • build(deps-dev): bump pytest-memray from 1.8.0 to 1.9.0 in the benchmark-tooling group by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/808
  • build(deps-dev): bump ipykernel from 6.29.5 to 7.3.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/812
  • build(deps-dev): bump ipython from 8.26.0 to 9.15.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/810
  • build(deps-dev): bump highspy from 1.13.1 to 1.15.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/809
  • fix: GLPK objective parsing by @danielelerede-oet in https://github.com/PyPSA/linopy/pull/818
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/PyPSA/linopy/pull/819
  • fix: widen Variable.sum dim parameter type to DimsLike by @manud99 in https://github.com/PyPSA/linopy/pull/820
  • perf(groupby): unify scatter kernel over numpy and dask via apply_ufunc by @FBumann in https://github.com/PyPSA/linopy/pull/802
  • perf: drop explicit zeros from the constraint matrix (#814) by @FBumann in https://github.com/PyPSA/linopy/pull/815
  • build(deps-dev): update docutils requirement from <0.21 to <0.24 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/811
  • perf: default integer arrays to int32 for ~25% memory reduction by @FBumann in https://github.com/PyPSA/linopy/pull/566
  • perf: prune explicit zeros at matrix assembly (cut build peak memory) by @FBumann in https://github.com/PyPSA/linopy/pull/816
  • test: make assert_linequal ignore dimension order by @FBumann in https://github.com/PyPSA/linopy/pull/801
  • docs: list SCIP in supported solvers (README, index) by @FabianHofmann in https://github.com/PyPSA/linopy/pull/825
  • fix: groupby-sum fast path reduces multi-dim DataArray grouper over all its dims by @FabianHofmann in https://github.com/PyPSA/linopy/pull/824
  • refactor(int32): per-model label dtype instead of sticky process-global by @FBumann in https://github.com/PyPSA/linopy/pull/828
  • fix(gurobi): dispose the solver model before the env on close by @FBumann in https://github.com/PyPSA/linopy/pull/826
  • fix(groupby): align groupers by label, raise on mismatch (#827) by @FBumann in https://github.com/PyPSA/linopy/pull/830
  • docs: add working-with-solvers notebook for the stateful Solver API by @FBumann in https://github.com/PyPSA/linopy/pull/685
  • docs: list SCIP in supported solvers by @FabianHofmann in https://github.com/PyPSA/linopy/pull/835
  • added two example notebooks: energy-resource-build and sudoku by @tpu-brunkhorst in https://github.com/PyPSA/linopy/pull/356
  • fix(groupby): preserve grouped-dim position in groupby-sum by @FabianHofmann in https://github.com/PyPSA/linopy/pull/860
  • fix: don't leak aux coords of summed dims onto the term dimension by @FBumann in https://github.com/PyPSA/linopy/pull/829
  • fix(packaging): ship linopy.remote and linopy.persistent in the wheel by @FBumann in https://github.com/PyPSA/linopy/pull/865
  • docs: harmonize PR/issue refs in release notes by @FabianHofmann in https://github.com/PyPSA/linopy/pull/866
  • bench(ops): add matmul micro-benchmarks (dense vs sparse operand) by @FBumann in https://github.com/PyPSA/linopy/pull/868
  • fix(deps): drop stale numpy<2 pin from the docs extra by @FBumann in https://github.com/PyPSA/linopy/pull/869
  • fix(xpress): migrate remaining deprecated Xpress 9.8 API calls by @brunoficoxpress in https://github.com/PyPSA/linopy/pull/880
  • build(deps): bump polars from 1.41.2 to 1.42.1 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/875
  • build(deps): bump xarray from 2026.4.0 to 2026.7.0 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/876
  • build(deps-dev): bump pandas from 3.0.3 to 3.0.5 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/877
  • build(deps): bump dask from 2026.6.0 to 2026.7.1 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/878
  • Expressions container by @brynpickering in https://github.com/PyPSA/linopy/pull/882
  • build(deps-dev): bump highspy from 1.15.0 to 1.15.1 by @dependabot[bot] in https://github.com/PyPSA/linopy/pull/879
  • update release notes by @FabianHofmann in https://github.com/PyPSA/linopy/pull/889
  • fix: ignore masked variable labels when matching constraints by @FabianHofmann in https://github.com/PyPSA/linopy/pull/895
  • fix(sos): order a set by its declaration, not by its coordinate labels by @FBumann in https://github.com/PyPSA/linopy/pull/893

New Contributors

  • @Ketchp made their first contribution in https://github.com/PyPSA/linopy/pull/783
  • @manud99 made their first contribution in https://github.com/PyPSA/linopy/pull/820
  • @tpu-brunkhorst made their first contribution in https://github.com/PyPSA/linopy/pull/356

Full Changelog: https://github.com/PyPSA/linopy/compare/v0.8.0...v0.9.1

Files

PyPSA/linopy-v0.9.1.zip

Files (1.6 MB)

Name Size Download all
md5:5c2a81ada637ec0d15927c11aec85281
1.6 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/PyPSA/linopy/tree/v0.9.1 (URL)

Software