Published June 10, 2026
| Version v0.8.0
Software
Open
PyPSA/linopy: v0.8.0
Authors/Creators
- Fabian Hofmann1
- Felix
- Lukas Trippe2
- Jonas Hörsch3
- Ulf Worsøe4
- Heinz-Alexander Fuetterer5
- Fabian Neumann2
- Robbie
- Siddharth Krishna3
- Florian Maurer6
- Henning Blunck7
- Iegor Riepin8
- Felix Hennings9
- Max Parzen3
- Oscar Dowson
- Michał Marszal10
- Fridolin Glatter11
- Daniel Müller
- Bruno Vieira12
- Kristijan Faust3
- ollie-bell
- qheuristics
- Bobby Xiong2
- lumbric
- jankaeh
- PeterKlein11
- Michael Coughlin13
- Mayk Thewessen14
- 1. Open Energy Transition
- 2. Technische Universität Berlin
- 3. @open-energy-transition
- 4. @MOSEK
- 5. @WZBSocialScienceCenter
- 6. University of Applied Sciences Aachen
- 7. Deutsche Post DHL Group
- 8. TU Berlin
- 9. Doing The Math
- 10. IDEA @ NCBJ
- 11. International Institute for Applied Systems Analysis (IIASA)
- 12. FICO
- 13. University of Minnesota
- 14. Treehouse Energy
Description
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/PyPSA/linopy/pull/505
- perf: matrix accessor rewrite by @coroa in https://github.com/PyPSA/linopy/pull/630
- docs(piecewise): rewrite reference page + tutorials for correctness and pedagogy by @FBumann in https://github.com/PyPSA/linopy/pull/677
- docs: fix broken toctree, refresh API reference, and clean up references by @FBumann in https://github.com/PyPSA/linopy/pull/680
- refactor: stateful Solver instances and two-step solve API by @FabianHofmann in https://github.com/PyPSA/linopy/pull/682
- docs: silence HiGHS console output in tutorial notebooks by @FBumann in https://github.com/PyPSA/linopy/pull/678
- docs: reorganize toctree into basic→advanced sections, rewrite user-guide landing by @FBumann in https://github.com/PyPSA/linopy/pull/681
- docs: credit Felix Bumann in copyright, author, and pyproject maintainers by @FBumann in https://github.com/PyPSA/linopy/pull/687
- feat(xpress): add direct API support via loadproblem by @FabianHofmann in https://github.com/PyPSA/linopy/pull/684
- deps: add
remoteextra for paramiko and migrate install docs to uv by @FBumann in https://github.com/PyPSA/linopy/pull/686 - fix(sos): refuse masked SOS variables with a clear error; fix
reformulate_sos=Trueno-op on native SOS solvers by @FBumann in https://github.com/PyPSA/linopy/pull/689 - fix(test): only skip GPU-only solvers without --run-gpu (#693) by @FBumann in https://github.com/PyPSA/linopy/pull/694
- refactor(sos): add Model.apply/undo_sos_reformulation methods by @FBumann in https://github.com/PyPSA/linopy/pull/690
- fix(remote): use TemporaryDirectory to avoid Windows tempfile lock by @FabianHofmann in https://github.com/PyPSA/linopy/pull/698
- Xpress 9.9+ backward compatibility and other updates by @brunoficoxpress in https://github.com/PyPSA/linopy/pull/701
- ci: swap aflc/pre-commit-jupyter for nbstripout by @FBumann in https://github.com/PyPSA/linopy/pull/700
- fix(sos): SOS constraints on masked variables (#688) by @FBumann in https://github.com/PyPSA/linopy/pull/692
- fix(xpress): use ExitStack to manage xpress.problem() lifecycle by @brunoficoxpress in https://github.com/PyPSA/linopy/pull/702
- fix(license-leaks): release license slot from Mosek, COPT, and MindOpt probe and solver paths by @FBumann in https://github.com/PyPSA/linopy/pull/695
- drop python 3.10 support by @lkstrp in https://github.com/PyPSA/linopy/pull/721
- refactor(types): unify SUPPORTED_CONSTANT_TYPES with ConstantLike alias by @FBumann in https://github.com/PyPSA/linopy/pull/728
- Improve Mosek interface to select optimal solution by @mgrabovsky in https://github.com/PyPSA/linopy/pull/667
- Feature/example of drop=True by @RobbieKiwi in https://github.com/PyPSA/linopy/pull/557
- refactor: unify coords-as-truth handling in add_variables/add_constraints by @FBumann in https://github.com/PyPSA/linopy/pull/732
- ci: fix model runs by @lkstrp in https://github.com/PyPSA/linopy/pull/522
- perf(matrices): cache MatrixAccessor properties with cached_property by @MaykThewessen in https://github.com/PyPSA/linopy/pull/716
- feat: add BaseExpression.has_terms property by @FBumann in https://github.com/PyPSA/linopy/pull/743
- refactor: move alignment code to linopy/alignment.py; restructure tests by @FBumann in https://github.com/PyPSA/linopy/pull/742
- 311 syntax by @RobbieKiwi in https://github.com/PyPSA/linopy/pull/739
- chore: Return Self from SolverStatus.from_termination_condition by @FBumann in https://github.com/PyPSA/linopy/pull/746
- docs: AI-assisted contribution guide by @FBumann in https://github.com/PyPSA/linopy/pull/754
- fix(alignment): tolerate xarray without CoordinateValidationError by @FBumann in https://github.com/PyPSA/linopy/pull/762
- fix: regression with tuple coords entries as xarray's (dim_name, values) by @FBumann in https://github.com/PyPSA/linopy/pull/766
- test: use public API in assertions instead of internal .data by @FBumann in https://github.com/PyPSA/linopy/pull/760
- fix(groupby): group by non-dimension coordinate names; fast multi-key grouping by names (#750, #753) by @FBumann in https://github.com/PyPSA/linopy/pull/751
- fix: Variable.fix() value alignment on named dimensions by @FBumann in https://github.com/PyPSA/linopy/pull/774
- feat: Add indicator constraints by @mcoughlin in https://github.com/PyPSA/linopy/pull/594
- feat: add m.dualize() by @bobbyxng in https://github.com/PyPSA/linopy/pull/626
- docs: cut release notes for v0.8.0 by @FBumann in https://github.com/PyPSA/linopy/pull/759
New Contributors
- @mgrabovsky made their first contribution in https://github.com/PyPSA/linopy/pull/667
Full Changelog: https://github.com/PyPSA/linopy/compare/v0.7.0...v0.8.0
Files
PyPSA/linopy-v0.8.0.zip
Files
(1.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:095331a16955dcc136dc85be9177e63c
|
1.5 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/PyPSA/linopy/tree/v0.8.0 (URL)
Software
- Repository URL
- https://github.com/PyPSA/linopy