flixopt 2.1.1__py3-none-any.whl → 2.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of flixopt might be problematic. Click here for more details.
- flixopt/components.py +1 -1
- {flixopt-2.1.1.dist-info → flixopt-2.1.2.dist-info}/METADATA +29 -29
- {flixopt-2.1.1.dist-info → flixopt-2.1.2.dist-info}/RECORD +7 -13
- {flixopt-2.1.1.dist-info → flixopt-2.1.2.dist-info}/WHEEL +1 -1
- {flixopt-2.1.1.dist-info → flixopt-2.1.2.dist-info}/top_level.txt +0 -1
- scripts/extract_release_notes.py +45 -0
- docs/release-notes/_template.txt +0 -32
- docs/release-notes/index.md +0 -7
- docs/release-notes/v2.0.0.md +0 -93
- docs/release-notes/v2.0.1.md +0 -12
- docs/release-notes/v2.1.0.md +0 -31
- docs/release-notes/v2.1.1.md +0 -11
- site/release-notes/_template.txt +0 -32
- {flixopt-2.1.1.dist-info → flixopt-2.1.2.dist-info}/licenses/LICENSE +0 -0
flixopt/components.py
CHANGED
|
@@ -491,7 +491,7 @@ class StorageModel(ComponentModel):
|
|
|
491
491
|
self.add(
|
|
492
492
|
self._model.add_constraints(
|
|
493
493
|
charge_state.isel(time=slice(1, None))
|
|
494
|
-
== charge_state.isel(time=slice(None, -1)) * (1 - rel_loss
|
|
494
|
+
== charge_state.isel(time=slice(None, -1)) * ((1 - rel_loss) ** hours_per_step)
|
|
495
495
|
+ charge_rate * eff_charge * hours_per_step
|
|
496
496
|
- discharge_rate * eff_discharge * hours_per_step,
|
|
497
497
|
name=f'{self.label_full}|charge_state',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flixopt
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.2
|
|
4
4
|
Summary: Vector based energy and material flow optimization framework in Python.
|
|
5
5
|
Author-email: "Chair of Building Energy Systems and Heat Supply, TU Dresden" <peter.stange@tu-dresden.de>, Felix Bumann <felixbumann387@gmail.com>, Felix Panitz <baumbude@googlemail.com>, Peter Stange <peter.stange@tu-dresden.de>
|
|
6
6
|
Maintainer-email: Felix Bumann <felixbumann387@gmail.com>, Peter Stange <peter.stange@tu-dresden.de>
|
|
@@ -22,40 +22,40 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
22
22
|
Requires-Python: >=3.10
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
|
-
Requires-Dist: numpy
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist: linopy
|
|
28
|
-
Requires-Dist: netcdf4
|
|
29
|
-
Requires-Dist:
|
|
25
|
+
Requires-Dist: numpy<3,>=1.21.5
|
|
26
|
+
Requires-Dist: pandas<3,>=2.0.0
|
|
27
|
+
Requires-Dist: linopy<0.6.0,>=0.5.1
|
|
28
|
+
Requires-Dist: netcdf4<2,>=1.6.1
|
|
29
|
+
Requires-Dist: PyYAML<7,>=6.0.0
|
|
30
|
+
Requires-Dist: rich>=13.0.0
|
|
31
|
+
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
|
|
30
32
|
Requires-Dist: highspy>=1.5.3
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist: plotly>=5.15
|
|
34
|
-
Requires-Dist: tomli>=2.0.1
|
|
33
|
+
Requires-Dist: matplotlib<4.0.0,>=3.5.2
|
|
34
|
+
Requires-Dist: plotly<6.0.0,>=5.15.0
|
|
35
35
|
Provides-Extra: dev
|
|
36
|
-
Requires-Dist: pytest; extra == "dev"
|
|
37
|
-
Requires-Dist: ruff; extra == "dev"
|
|
36
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
37
|
+
Requires-Dist: ruff>=0.9.0; extra == "dev"
|
|
38
38
|
Requires-Dist: pyvis==0.3.1; extra == "dev"
|
|
39
|
-
Requires-Dist: tsam
|
|
40
|
-
Requires-Dist: scipy
|
|
41
|
-
Requires-Dist: gurobipy>=10.0; extra == "dev"
|
|
39
|
+
Requires-Dist: tsam<3.0.0,>=2.3.1; extra == "dev"
|
|
40
|
+
Requires-Dist: scipy<2.0.0,>=1.15.1; extra == "dev"
|
|
41
|
+
Requires-Dist: gurobipy>=10.0.0; extra == "dev"
|
|
42
42
|
Provides-Extra: full
|
|
43
43
|
Requires-Dist: pyvis==0.3.1; extra == "full"
|
|
44
|
-
Requires-Dist: tsam
|
|
45
|
-
Requires-Dist: scipy
|
|
46
|
-
Requires-Dist: streamlit
|
|
47
|
-
Requires-Dist: gurobipy>=10.0; extra == "full"
|
|
44
|
+
Requires-Dist: tsam<3.0.0,>=2.3.1; extra == "full"
|
|
45
|
+
Requires-Dist: scipy<2.0.0,>=1.15.1; extra == "full"
|
|
46
|
+
Requires-Dist: streamlit<2.0.0,>=1.44.0; extra == "full"
|
|
47
|
+
Requires-Dist: gurobipy>=10.0.0; extra == "full"
|
|
48
48
|
Provides-Extra: docs
|
|
49
|
-
Requires-Dist: mkdocs-material
|
|
50
|
-
Requires-Dist: mkdocstrings-python; extra == "docs"
|
|
51
|
-
Requires-Dist: mkdocs-table-reader-plugin; extra == "docs"
|
|
52
|
-
Requires-Dist: mkdocs-gen-files; extra == "docs"
|
|
53
|
-
Requires-Dist: mkdocs-include-markdown-plugin; extra == "docs"
|
|
54
|
-
Requires-Dist: mkdocs-literate-nav; extra == "docs"
|
|
55
|
-
Requires-Dist: markdown-include; extra == "docs"
|
|
56
|
-
Requires-Dist: pymdown-extensions; extra == "docs"
|
|
57
|
-
Requires-Dist: pygments; extra == "docs"
|
|
58
|
-
Requires-Dist: mike; extra == "docs"
|
|
49
|
+
Requires-Dist: mkdocs-material<10,>=9.0.0; extra == "docs"
|
|
50
|
+
Requires-Dist: mkdocstrings-python>=1.0.0; extra == "docs"
|
|
51
|
+
Requires-Dist: mkdocs-table-reader-plugin>=2.0.0; extra == "docs"
|
|
52
|
+
Requires-Dist: mkdocs-gen-files>=0.4.0; extra == "docs"
|
|
53
|
+
Requires-Dist: mkdocs-include-markdown-plugin>=6.0.0; extra == "docs"
|
|
54
|
+
Requires-Dist: mkdocs-literate-nav>=0.6.0; extra == "docs"
|
|
55
|
+
Requires-Dist: markdown-include>=0.8.0; extra == "docs"
|
|
56
|
+
Requires-Dist: pymdown-extensions>=10.0.0; extra == "docs"
|
|
57
|
+
Requires-Dist: pygments>=2.14.0; extra == "docs"
|
|
58
|
+
Requires-Dist: mike<2,>=1.1.0; extra == "docs"
|
|
59
59
|
Dynamic: license-file
|
|
60
60
|
|
|
61
61
|
# FlixOpt: Energy and Material Flow Optimization Framework
|
|
@@ -9,12 +9,6 @@ docs/images/architecture_flixOpt-pre2.0.0.png,sha256=9RWSA3vys588aadr2437zor-_-x
|
|
|
9
9
|
docs/images/architecture_flixOpt.png,sha256=KjN1bJwESbkHmTW7UsJ7dZyiKZlTO7Dx20dg8KlR1HU,260219
|
|
10
10
|
docs/images/flixopt-icon.svg,sha256=_1a6bk2pDOVEy233LC1nM6jZ35NdzD8Hd3UqGxW1Xpg,135341
|
|
11
11
|
docs/javascripts/mathjax.js,sha256=lkPNMk5XrDlyut9e5nGHgpN7gFl8OejpdJJ_gRW_14k,401
|
|
12
|
-
docs/release-notes/_template.txt,sha256=j65E_FDxzimkcMXBrXyF6b2KPm0KAiQlGTxfhQHnN7c,496
|
|
13
|
-
docs/release-notes/index.md,sha256=6VslOEfF3KQQCbntguRKz7uGWd_W_KIYotP8L1fzAeI,227
|
|
14
|
-
docs/release-notes/v2.0.0.md,sha256=eauxvCH3O0B054vhbP0G8GdeF2LM__J57VAGYRFQzBg,4676
|
|
15
|
-
docs/release-notes/v2.0.1.md,sha256=_0oqZjogRv_x6DToWih78uhHu65-J1tat5A1asYxg50,398
|
|
16
|
-
docs/release-notes/v2.1.0.md,sha256=uUnlzG61rI2PYce1SxIySYOnW55e_vnJYJN7l8lcB8A,1325
|
|
17
|
-
docs/release-notes/v2.1.1.md,sha256=Y9cMiB6LeO6rZexJ9DD9BEl5mnrP8GLcf9nDtOLfIgc,217
|
|
18
12
|
docs/user-guide/index.md,sha256=fxI_bMjz7czJ5aF_7D7l5rQVpc03WV2EAaBo9y3gB2g,7452
|
|
19
13
|
docs/user-guide/Mathematical Notation/Bus.md,sha256=getjae_-rNTXbotO0euXwYCq2arBoayKsN9KeFb2u60,1612
|
|
20
14
|
"docs/user-guide/Mathematical Notation/Effects, Penalty & Objective.md",sha256=RNqcJzNI1E-U01gaeoKu7m-7gjmtDWvjr2Y5JK9YgTA,5685
|
|
@@ -28,7 +22,7 @@ flixopt/__init__.py,sha256=F49OK5QLUnMGmsaKQ-G0dXsVuKr9Ow_pjM4KMSNZ918,614
|
|
|
28
22
|
flixopt/aggregation.py,sha256=UaAYh34C4XhDgiSs4lm31XEMLr4YO5BzLKUAx4NQuyI,17002
|
|
29
23
|
flixopt/calculation.py,sha256=1Hs9dc6eqdJoHT6Dd3NlwdRORFO2vKdKx38o95FPxJE,20016
|
|
30
24
|
flixopt/commons.py,sha256=ZNlUN1z-h9OGHPo-s-n5OLlJaoPZKVGcAdRyGKpMk4M,1256
|
|
31
|
-
flixopt/components.py,sha256=
|
|
25
|
+
flixopt/components.py,sha256=7vI0IzWBLj81IErPllWHbMMqrrPlplYOPcH3aHvDbeY,29124
|
|
32
26
|
flixopt/config.py,sha256=Kt8QYk7hX5qHcQUtfgjM862C6SQr4K2lDvtk_LLER8Y,9085
|
|
33
27
|
flixopt/config.yaml,sha256=imzAnnhcJhIfKNTTXFB5Td7Pvk5ARn5j720k-oGGRug,392
|
|
34
28
|
flixopt/core.py,sha256=JGsnw-VsNCQW2zDl0kMwhcPIzq08DJmcRQ02nLyDvIg,37633
|
|
@@ -44,16 +38,16 @@ flixopt/results.py,sha256=GKSZmz0GCuJwspTC8Ot6MOKinvy_mhnDXCafb_f7uVY,35161
|
|
|
44
38
|
flixopt/solvers.py,sha256=k1bSoiXec3asWED70-erXkgtpn2C8KRBfSZj0FLviSM,2436
|
|
45
39
|
flixopt/structure.py,sha256=QS0IFBHzdEMKYTgd6uosudhoDD4X0JcdF7LlS-XRacs,26295
|
|
46
40
|
flixopt/utils.py,sha256=f-_vFDvvG27-c_VMpzkv3lb79Yny4rvoSmemushbzhU,1687
|
|
47
|
-
flixopt-2.1.
|
|
41
|
+
flixopt-2.1.2.dist-info/licenses/LICENSE,sha256=HKsZnbrM_3Rvnr_u9cWSG90cBsj5_slaqI_z_qcxnGI,1118
|
|
48
42
|
pics/architecture_flixOpt-pre2.0.0.png,sha256=9RWSA3vys588aadr2437zor-_-xBTQNQ0bAf8xGcu5g,70605
|
|
49
43
|
pics/architecture_flixOpt.png,sha256=KjN1bJwESbkHmTW7UsJ7dZyiKZlTO7Dx20dg8KlR1HU,260219
|
|
50
44
|
pics/flixOpt_plotting.jpg,sha256=zn7ZPAtXm5eRTxtOj86e4-PPhHpCar1jqGh7vMBgQGY,518862
|
|
51
45
|
pics/flixopt-icon.svg,sha256=_1a6bk2pDOVEy233LC1nM6jZ35NdzD8Hd3UqGxW1Xpg,135341
|
|
52
46
|
pics/pics.pptx,sha256=ImWeGGvjtWJ6BGruipsnZYmWtHj5sWdbw1NSFePbkC8,683344
|
|
47
|
+
scripts/extract_release_notes.py,sha256=0v8B9c6VXz55PJ0I08W7FdxGp7jEY5NOkrqMY6MNdYU,1249
|
|
53
48
|
scripts/gen_ref_pages.py,sha256=AYRtXyz78x5I_Hn0oRtGVbTxgLLj2QNyRX6vWRefPjc,1960
|
|
54
|
-
site/release-notes/_template.txt,sha256=j65E_FDxzimkcMXBrXyF6b2KPm0KAiQlGTxfhQHnN7c,496
|
|
55
49
|
tests/ressources/Zeitreihen2020.csv,sha256=kbsDTKZS0iUsNZAS7m3DohzZI_OHHWe44s3GwLvcTLw,1918412
|
|
56
|
-
flixopt-2.1.
|
|
57
|
-
flixopt-2.1.
|
|
58
|
-
flixopt-2.1.
|
|
59
|
-
flixopt-2.1.
|
|
50
|
+
flixopt-2.1.2.dist-info/METADATA,sha256=bwiwG5v5T-LhmGRZVvRZJZrUclJwEW7j74v1s1Qfhdc,7343
|
|
51
|
+
flixopt-2.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
52
|
+
flixopt-2.1.2.dist-info/top_level.txt,sha256=DEuo4R1z7GmEp5R3pjbQEJbaPRjKHFvNX2ceiBnVOL0,32
|
|
53
|
+
flixopt-2.1.2.dist-info/RECORD,,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Extract release notes from CHANGELOG.md for a specific version.
|
|
4
|
+
Usage: python extract_release_notes.py <version>
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import re
|
|
8
|
+
import sys
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def extract_release_notes(version: str) -> str:
|
|
13
|
+
"""Extract release notes for a specific version from CHANGELOG.md"""
|
|
14
|
+
changelog_path = Path("CHANGELOG.md")
|
|
15
|
+
|
|
16
|
+
if not changelog_path.exists():
|
|
17
|
+
print("❌ Error: CHANGELOG.md not found", file=sys.stderr)
|
|
18
|
+
sys.exit(1)
|
|
19
|
+
|
|
20
|
+
content = changelog_path.read_text(encoding='utf-8')
|
|
21
|
+
|
|
22
|
+
# Pattern to match version section: ## [2.1.2] - 2025-06-14
|
|
23
|
+
pattern = rf'## \[{re.escape(version)}\] - [^\n]+\n(.*?)(?=\n## \[|\n\[Unreleased\]|\Z)'
|
|
24
|
+
match = re.search(pattern, content, re.DOTALL)
|
|
25
|
+
|
|
26
|
+
if not match:
|
|
27
|
+
print(f"❌ Error: No release notes found for version '{version}'", file=sys.stderr)
|
|
28
|
+
sys.exit(1)
|
|
29
|
+
|
|
30
|
+
return match.group(1).strip()
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def main():
|
|
34
|
+
if len(sys.argv) != 2:
|
|
35
|
+
print("Usage: python extract_release_notes.py <version>")
|
|
36
|
+
print("Example: python extract_release_notes.py 2.1.2")
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
|
|
39
|
+
version = sys.argv[1]
|
|
40
|
+
release_notes = extract_release_notes(version)
|
|
41
|
+
print(release_notes)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
if __name__ == "__main__":
|
|
45
|
+
main()
|
docs/release-notes/_template.txt
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Release v{version}
|
|
2
|
-
|
|
3
|
-
**Release Date:** YYYY-MM-DD
|
|
4
|
-
|
|
5
|
-
## What's New
|
|
6
|
-
|
|
7
|
-
* Feature 1 - Description
|
|
8
|
-
* Feature 2 - Description
|
|
9
|
-
|
|
10
|
-
## Improvements
|
|
11
|
-
|
|
12
|
-
* Improvement 1 - Description
|
|
13
|
-
* Improvement 2 - Description
|
|
14
|
-
|
|
15
|
-
## Bug Fixes
|
|
16
|
-
|
|
17
|
-
* Fixed issue with X
|
|
18
|
-
* Resolved problem with Y
|
|
19
|
-
|
|
20
|
-
## Breaking Changes
|
|
21
|
-
|
|
22
|
-
* Change 1 - Migration instructions
|
|
23
|
-
* Change 2 - Migration instructions
|
|
24
|
-
|
|
25
|
-
## Deprecations
|
|
26
|
-
|
|
27
|
-
* Feature X will be removed in v{next_version}
|
|
28
|
-
|
|
29
|
-
## Dependencies
|
|
30
|
-
|
|
31
|
-
* Added dependency X v1.2.3
|
|
32
|
-
* Updated dependency Y to v2.0.0
|
docs/release-notes/index.md
DELETED
docs/release-notes/v2.0.0.md
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# Release v2.0.0
|
|
2
|
-
|
|
3
|
-
**Release Date:** March 29, 2025
|
|
4
|
-
|
|
5
|
-
## 🚀 Major Framework Changes
|
|
6
|
-
|
|
7
|
-
- **Migration from Pyomo to Linopy**: Completely rebuilt the optimization foundation to use Linopy instead of Pyomo
|
|
8
|
-
- Significant performance improvements, especially for large models
|
|
9
|
-
- Internal useage of linopys mathematical modeling language
|
|
10
|
-
- **xarray-Based Data Architecture**: Redesigned data handling to rely on xarray.Dataset throughout the package for:
|
|
11
|
-
- Improved solution representation and analysis
|
|
12
|
-
- Enhanced time series management
|
|
13
|
-
- Consistent serialization across all elements
|
|
14
|
-
- Reduced file size and improved performance
|
|
15
|
-
- **Saving and restoring unsolved Models**: The FlowSystem is now fully serializable and can be saved to a file.
|
|
16
|
-
- Share your work with others by saving the FlowSystem to a file
|
|
17
|
-
- Load a FlowSystem from a file to extend or modify your work
|
|
18
|
-
|
|
19
|
-
## 🔧 Key Improvements
|
|
20
|
-
|
|
21
|
-
### Model Handling
|
|
22
|
-
|
|
23
|
-
- **Extend every flixopt model with the linopy language**: Add any additional constraint or variable to your flixopt model by using the linopy language.
|
|
24
|
-
- **Full Model Export/Import**: As a result of the migration to Linopy, the linopy.Model can be exported before or after the solve.
|
|
25
|
-
- **Improved Infeasible Model Handling**: Added better detection and reporting for infeasible optimization models
|
|
26
|
-
- **Improved Model Documentation**: Every model can be documented in a .yaml file, containing human readable mathematical formulations of all variables and constraints. THis is used to document every Calculation.
|
|
27
|
-
|
|
28
|
-
### Calculation Results and documentation:
|
|
29
|
-
The `CalculationResults` class has been completely redesigned to provide a more streamlined and intuitive interface.
|
|
30
|
-
Accessing the results of a Calculation is now as simple as:
|
|
31
|
-
```python
|
|
32
|
-
fx.FullCalculation('Sim1', flow_system)
|
|
33
|
-
calculation.solve(fx.solvers.HighsSolver())
|
|
34
|
-
calculation.results # This object can be entirely saved and reloaded to file without any information loss
|
|
35
|
-
```
|
|
36
|
-
This access doesn't change if you save and load the results to a file or use them in your script directly!
|
|
37
|
-
|
|
38
|
-
- **Improved Documentation**: The FlowSystem as well as a model Documentation is created for every model run.
|
|
39
|
-
- **Results without saving to file**: The results of a Calculation can now be properly accessed without saving the results to a file first.
|
|
40
|
-
- **Unified Solution exploration**: Every `Calculation` has a `Calculation.results` attribute, which accesses the solution. This can be saved and reloaded without any information loss.
|
|
41
|
-
- **Improved Calculation Results**: The results of a Calculation are now more intuitive and easier to access. The `CalculationResults` class has been completely redesigned to provide a more streamlined and intuitive interface.
|
|
42
|
-
|
|
43
|
-
### Data Management & I/O
|
|
44
|
-
|
|
45
|
-
- **Unified Serialization**: Standardized serialization and deserialization across all elements
|
|
46
|
-
- **Compression Support**: Added data compression when saving results to reduce file size
|
|
47
|
-
- **to_netcdf/from_netcdf Methods**: Added for FlowSystem and other core components
|
|
48
|
-
|
|
49
|
-
### Details
|
|
50
|
-
#### TimeSeries Enhancements
|
|
51
|
-
|
|
52
|
-
- **xarray Integration**: Redesigned TimeSeries to depend on xr.DataArray
|
|
53
|
-
- **datatypes**: Added support for more datatypes, with methods for conversion to TimeSeries
|
|
54
|
-
- **Improved TimeSeriesCollection**: Enhanced indexing, representation, and dataset conversion
|
|
55
|
-
- **Simplified Time Management**: Removed period concepts and focused on timesteps for more intuitive time handling
|
|
56
|
-
|
|
57
|
-
## 📚 Documentation
|
|
58
|
-
|
|
59
|
-
- Improved documentation of the FlixOpt API and mathematical formulations
|
|
60
|
-
- **Google Style Docstrings**: Updated all docstrings to Google style format
|
|
61
|
-
|
|
62
|
-
## 🔄 Dependencies
|
|
63
|
-
|
|
64
|
-
- **Linopy**: Added as the core dependency replacing Pyomo
|
|
65
|
-
- **xarray**: Now a critical dependency for data handling and file I/O
|
|
66
|
-
- **netcdf4**: Dependency for fast and efficient file I/O
|
|
67
|
-
|
|
68
|
-
### Dropped Dependencies
|
|
69
|
-
- **pyomo**: Replaced by linopy as the modeling language
|
|
70
|
-
|
|
71
|
-
## 📋 Migration Notes
|
|
72
|
-
|
|
73
|
-
This version represents a significant architecture change. If you're upgrading:
|
|
74
|
-
|
|
75
|
-
- Code that directly accessed Pyomo models will need to be updated to work with Linopy
|
|
76
|
-
- Data handling now uses xarray.Dataset throughout, which may require changes in how you interact with results
|
|
77
|
-
- The way labels are constructed has changed throughout the system
|
|
78
|
-
- The results of calculations are now handled differently, and may require changes in how you access results
|
|
79
|
-
- The framework was renamed from flixOpt to flixopt. Use `import flixopt as fx`.
|
|
80
|
-
|
|
81
|
-
For complete details, please refer to the full commit history.
|
|
82
|
-
|
|
83
|
-
## Installation
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
pip install flixopt==2.0.0
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## Upgrading
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
pip install --upgrade flixopt
|
|
93
|
-
```
|
docs/release-notes/v2.0.1.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Release v2.0.1
|
|
2
|
-
|
|
3
|
-
**Release Date:** 2025-04-10
|
|
4
|
-
|
|
5
|
-
## Improvements
|
|
6
|
-
|
|
7
|
-
* Add logger warning if relative_minimum is used without on_off_parameters in Flow, as this prevents the flow_rate from switching "OFF"
|
|
8
|
-
|
|
9
|
-
## Bug Fixes
|
|
10
|
-
|
|
11
|
-
* Replace "|" with "__" in filenames when saving figures, as "|" can lead to issues on windows
|
|
12
|
-
* Fixed a Bug that prevented the load factor from working without InvestmentParameters
|
docs/release-notes/v2.1.0.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Release v2.1.0
|
|
2
|
-
|
|
3
|
-
**Release Date:** 2025-04-11
|
|
4
|
-
|
|
5
|
-
## Improvements
|
|
6
|
-
|
|
7
|
-
* Add logger warning if relative_minimum is used without on_off_parameters in Flow, as this prevents the flow_rate from switching "OFF"
|
|
8
|
-
* Python 3.13 support added
|
|
9
|
-
* Greatly improved internal testing infrastructure by leveraging linopy's testing framework
|
|
10
|
-
|
|
11
|
-
## Bug Fixes
|
|
12
|
-
|
|
13
|
-
* Bugfixing the lower bound of `flow_rate` when using optional investments without OnOffParameters.
|
|
14
|
-
* Fixes a Bug that prevented divest effects from working.
|
|
15
|
-
* added lower bounds of 0 to two unbounded vars (only numerical better)
|
|
16
|
-
|
|
17
|
-
## Breaking Changes
|
|
18
|
-
|
|
19
|
-
* We restructured the modeling of the On/Off state of FLows or Components. This leads to slightly renaming of variables and constraints.
|
|
20
|
-
|
|
21
|
-
### Variable renaming
|
|
22
|
-
* "...|consecutive_on_hours" is now "...|ConsecutiveOn|hours"
|
|
23
|
-
* "...|consecutive_off_hours" is now "...|ConsecutiveOff|hours"
|
|
24
|
-
|
|
25
|
-
### Constraint renaming
|
|
26
|
-
* "...|consecutive_on_hours_con1" is now "...|ConsecutiveOn|con1"
|
|
27
|
-
* "...|consecutive_on_hours_con2a" is now "...|ConsecutiveOn|con2a"
|
|
28
|
-
* "...|consecutive_on_hours_con2b" is now "...|ConsecutiveOn|con2b"
|
|
29
|
-
* "...|consecutive_on_hours_initial" is now "...|ConsecutiveOn|initial"
|
|
30
|
-
* "...|consecutive_on_hours_minimum_duration" is now "...|ConsecutiveOn|minimum"
|
|
31
|
-
The same goes for "...|consecutive_off..." --> "...|ConsecutiveOff|..."
|
docs/release-notes/v2.1.1.md
DELETED
site/release-notes/_template.txt
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Release v{version}
|
|
2
|
-
|
|
3
|
-
**Release Date:** YYYY-MM-DD
|
|
4
|
-
|
|
5
|
-
## What's New
|
|
6
|
-
|
|
7
|
-
* Feature 1 - Description
|
|
8
|
-
* Feature 2 - Description
|
|
9
|
-
|
|
10
|
-
## Improvements
|
|
11
|
-
|
|
12
|
-
* Improvement 1 - Description
|
|
13
|
-
* Improvement 2 - Description
|
|
14
|
-
|
|
15
|
-
## Bug Fixes
|
|
16
|
-
|
|
17
|
-
* Fixed issue with X
|
|
18
|
-
* Resolved problem with Y
|
|
19
|
-
|
|
20
|
-
## Breaking Changes
|
|
21
|
-
|
|
22
|
-
* Change 1 - Migration instructions
|
|
23
|
-
* Change 2 - Migration instructions
|
|
24
|
-
|
|
25
|
-
## Deprecations
|
|
26
|
-
|
|
27
|
-
* Feature X will be removed in v{next_version}
|
|
28
|
-
|
|
29
|
-
## Dependencies
|
|
30
|
-
|
|
31
|
-
* Added dependency X v1.2.3
|
|
32
|
-
* Updated dependency Y to v2.0.0
|
|
File without changes
|