flixopt 2.2.0b0__tar.gz → 2.2.0rc2__tar.gz

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.

Files changed (123) hide show
  1. flixopt-2.2.0rc2/.github/CONTRIBUTING.md +85 -0
  2. flixopt-2.2.0rc2/.github/ISSUE_TEMPLATE/bug_report.yml +111 -0
  3. flixopt-2.2.0rc2/.github/ISSUE_TEMPLATE/config.yml +14 -0
  4. flixopt-2.2.0rc2/.github/ISSUE_TEMPLATE/feature_request.yml +127 -0
  5. flixopt-2.2.0rc2/.github/ISSUE_TEMPLATE/general_issue.yml +40 -0
  6. flixopt-2.2.0rc2/.github/pull_request_template.md +20 -0
  7. flixopt-2.2.0rc2/.github/workflows/python-app.yaml +404 -0
  8. flixopt-2.2.0rc2/.pre-commit-config.yaml +16 -0
  9. flixopt-2.2.0rc2/CHANGELOG.md +166 -0
  10. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/PKG-INFO +63 -42
  11. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/README.md +15 -10
  12. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/SUMMARY.md +2 -2
  13. flixopt-2.2.0rc2/docs/contribute.md +45 -0
  14. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/examples/00-Minimal Example.md +1 -1
  15. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/examples/01-Basic Example.md +1 -1
  16. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/examples/02-Complex Example.md +1 -1
  17. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/examples/index.md +1 -1
  18. {flixopt-2.2.0b0/docs → flixopt-2.2.0rc2/docs/faq}/contribute.md +26 -14
  19. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/faq/index.md +1 -1
  20. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/javascripts/mathjax.js +1 -1
  21. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/Bus.md +1 -1
  22. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/Effects, Penalty & Objective.md +13 -13
  23. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/Flow.md +1 -1
  24. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/LinearConverter.md +2 -2
  25. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/Piecewise.md +1 -1
  26. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/Storage.md +1 -1
  27. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/Mathematical Notation/index.md +1 -1
  28. flixopt-2.2.0rc2/docs/user-guide/Mathematical Notation/others.md +3 -0
  29. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/user-guide/index.md +2 -2
  30. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/examples/02_Complex/complex_example.py +1 -0
  31. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/examples/02_Complex/complex_example_results.py +4 -0
  32. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/examples/03_Calculation_types/example_calculation_types.py +5 -5
  33. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/__init__.py +5 -0
  34. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/aggregation.py +0 -1
  35. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/calculation.py +40 -72
  36. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/commons.py +10 -1
  37. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/components.py +326 -154
  38. flixopt-2.2.0rc2/flixopt/core.py +978 -0
  39. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/effects.py +67 -270
  40. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/elements.py +76 -84
  41. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/features.py +172 -154
  42. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/flow_system.py +70 -99
  43. flixopt-2.2.0rc2/flixopt/interface.py +524 -0
  44. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/io.py +27 -56
  45. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/linear_converters.py +3 -3
  46. flixopt-2.2.0rc2/flixopt/network_app.py +755 -0
  47. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/plotting.py +16 -34
  48. flixopt-2.2.0rc2/flixopt/results.py +898 -0
  49. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/structure.py +11 -67
  50. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/utils.py +9 -6
  51. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt.egg-info/PKG-INFO +63 -42
  52. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt.egg-info/SOURCES.txt +12 -12
  53. flixopt-2.2.0rc2/flixopt.egg-info/requires.txt +56 -0
  54. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/mkdocs.yml +4 -3
  55. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/pyproject.toml +64 -32
  56. flixopt-2.2.0rc2/renovate.json +16 -0
  57. flixopt-2.2.0rc2/scripts/extract_release_notes.py +45 -0
  58. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/conftest.py +32 -85
  59. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/run_all_tests.py +1 -1
  60. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_bus.py +26 -14
  61. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_component.py +55 -35
  62. flixopt-2.2.0rc2/tests/test_dataconverter.py +113 -0
  63. flixopt-2.2.0rc2/tests/test_effect.py +168 -0
  64. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_flow.py +262 -76
  65. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_integration.py +1 -0
  66. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_io.py +2 -4
  67. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_linear_converter.py +62 -116
  68. flixopt-2.2.0rc2/tests/test_network_app.py +29 -0
  69. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_on_hours_computation.py +48 -45
  70. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_plots.py +4 -4
  71. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_results_plots.py +8 -1
  72. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_storage.py +50 -56
  73. flixopt-2.2.0rc2/tests/test_timeseries.py +605 -0
  74. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/todos.txt +2 -2
  75. flixopt-2.2.0b0/.github/workflows/deploy-docs.yaml +0 -35
  76. flixopt-2.2.0b0/.github/workflows/python-app.yaml +0 -147
  77. flixopt-2.2.0b0/docs/faq/contribute.md +0 -49
  78. flixopt-2.2.0b0/docs/release-notes/_template.txt +0 -32
  79. flixopt-2.2.0b0/docs/release-notes/index.md +0 -7
  80. flixopt-2.2.0b0/docs/release-notes/v2.0.0.md +0 -93
  81. flixopt-2.2.0b0/docs/release-notes/v2.0.1.md +0 -12
  82. flixopt-2.2.0b0/docs/release-notes/v2.1.0.md +0 -31
  83. flixopt-2.2.0b0/docs/release-notes/v2.2.0.md +0 -55
  84. flixopt-2.2.0b0/docs/user-guide/Mathematical Notation/Investment.md +0 -115
  85. flixopt-2.2.0b0/docs/user-guide/Mathematical Notation/others.md +0 -3
  86. flixopt-2.2.0b0/examples/04_Scenarios/scenario_example.py +0 -125
  87. flixopt-2.2.0b0/flixopt/core.py +0 -1485
  88. flixopt-2.2.0b0/flixopt/interface.py +0 -356
  89. flixopt-2.2.0b0/flixopt/results.py +0 -1596
  90. flixopt-2.2.0b0/flixopt.egg-info/requires.txt +0 -37
  91. flixopt-2.2.0b0/tests/test_cycle_detection.py +0 -226
  92. flixopt-2.2.0b0/tests/test_dataconverter.py +0 -756
  93. flixopt-2.2.0b0/tests/test_effect.py +0 -224
  94. flixopt-2.2.0b0/tests/test_effects_shares_summation.py +0 -236
  95. flixopt-2.2.0b0/tests/test_scenarios.py +0 -332
  96. flixopt-2.2.0b0/tests/test_timeseries.py +0 -746
  97. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/.gitignore +0 -0
  98. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/LICENSE +0 -0
  99. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/examples/03-Calculation Modes.md +0 -0
  100. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/getting-started.md +0 -0
  101. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/images/architecture_flixOpt-pre2.0.0.png +0 -0
  102. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/images/architecture_flixOpt.png +0 -0
  103. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/images/flixopt-icon.svg +0 -0
  104. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/docs/index.md +0 -0
  105. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/examples/00_Minmal/minimal_example.py +0 -0
  106. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/examples/01_Simple/simple_example.py +0 -0
  107. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/examples/03_Calculation_types/Zeitreihen2020.csv +0 -0
  108. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/config.py +0 -0
  109. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/config.yaml +0 -0
  110. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt/solvers.py +0 -0
  111. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt.egg-info/dependency_links.txt +0 -0
  112. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/flixopt.egg-info/top_level.txt +0 -0
  113. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/pics/architecture_flixOpt-pre2.0.0.png +0 -0
  114. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/pics/architecture_flixOpt.png +0 -0
  115. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/pics/flixOpt_plotting.jpg +0 -0
  116. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/pics/flixopt-icon.svg +0 -0
  117. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/pics/pics.pptx +0 -0
  118. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/scripts/gen_ref_pages.py +0 -0
  119. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/setup.cfg +0 -0
  120. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/__init__.py +0 -0
  121. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/ressources/Zeitreihen2020.csv +0 -0
  122. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_examples.py +0 -0
  123. {flixopt-2.2.0b0 → flixopt-2.2.0rc2}/tests/test_functional.py +0 -0
@@ -0,0 +1,85 @@
1
+ # Contributing to FlixOpt
2
+
3
+ Thanks for your interest in contributing to FlixOpt! 🚀
4
+
5
+ ## Quick Start
6
+
7
+ 1. **Fork & Clone**
8
+ ```bash
9
+ git clone https://github.com/yourusername/flixopt.git
10
+ cd flixopt
11
+ ```
12
+
13
+ 2. **Install for Development**
14
+ ```bash
15
+ pip install -e ".[full]"
16
+ ```
17
+
18
+ 3. **Make Changes & Submit PR**
19
+ ```bash
20
+ git checkout -b feature/your-change
21
+ # Make your changes
22
+ git commit -m "Add: description of changes"
23
+ git push origin feature/your-change
24
+ # Create Pull Request on GitHub
25
+ ```
26
+
27
+ ## How to Contribute
28
+
29
+ ### 🐛 **Found a Bug?**
30
+ Use our [bug report template](https://github.com/flixOpt/flixopt/issues/new?template=bug_report.yml) with:
31
+ - Minimal code example
32
+ - FlixOpt version, Python version, solver used
33
+ - Expected vs actual behavior
34
+
35
+ ### ✨ **Have a Feature Idea?**
36
+ Use our [feature request template](https://github.com/flixOpt/flixopt/issues/new?template=feature_request.yml) with:
37
+ - Clear energy system use case
38
+ - Specific examples of what you want to model
39
+
40
+ ### ❓ **Need Help?**
41
+ - Check the [documentation](https://flixopt.github.io/flixopt/latest/) first
42
+ - Search [existing issues](https://github.com/flixOpt/flixopt/issues)
43
+ - Start a [discussion](https://github.com/flixOpt/flixopt/discussions)
44
+
45
+ ## Code Guidelines
46
+
47
+ - **Style**: Follow PEP 8, use descriptive names
48
+ - **Documentation**: Add docstrings with units (kW, kWh, etc.) if applicable
49
+ - **Energy Focus**: Use energy domain terminology consistently
50
+ - **Testing**: Test with different solvers when applicable
51
+
52
+ ### Example
53
+ ```python
54
+ def create_storage(
55
+ label: str,
56
+ capacity_kwh: float,
57
+ charging_power_kw: float
58
+ ) -> Storage:
59
+ """
60
+ Create a battery storage component.
61
+
62
+ Args:
63
+ label: Unique identifier
64
+ capacity_kwh: Storage capacity [kWh]
65
+ charging_power_kw: Maximum charging power [kW]
66
+ """
67
+ ```
68
+
69
+ ## What We Welcome
70
+
71
+ - 🔧 New energy components (batteries, heat pumps, etc.)
72
+ - 📚 Documentation improvements
73
+ - 🐛 Bug fixes
74
+ - 🧪 Test cases
75
+ - 💡 Energy system examples
76
+
77
+ ## Questions?
78
+
79
+ - 📖 [Documentation](https://flixopt.github.io/flixopt/latest/)
80
+ - 💬 [Discussions](https://github.com/flixOpt/flixopt/discussions)
81
+ - 📧 Contact maintainers (see README)
82
+
83
+ ---
84
+
85
+ **Every contribution helps advance sustainable energy solutions! 🌱⚡**
@@ -0,0 +1,111 @@
1
+ name: 🐛 Bug Report
2
+ description: Report a bug in flixopt
3
+ title: "[BUG] "
4
+ labels: ["type: bug"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for taking the time to fill out this bug report!
10
+
11
+ **Before submitting**: Please search [existing issues](https://github.com/flixOpt/flixopt/issues) to avoid duplicates.
12
+
13
+ - type: checkboxes
14
+ id: checks
15
+ attributes:
16
+ label: Version Confirmation
17
+ description: Please confirm you can reproduce this on a supported version
18
+ options:
19
+ - label: I have confirmed this bug exists on the latest [release](https://github.com/flixOpt/flixopt/releases) of FlixOpt
20
+ required: true
21
+
22
+ - type: textarea
23
+ id: problem
24
+ attributes:
25
+ label: Bug Description
26
+ description: Clearly describe what went wrong
27
+ placeholder: |
28
+ What happened? What did you expect to happen instead?
29
+
30
+ Include any error messages or unexpected outputs.
31
+ validations:
32
+ required: true
33
+
34
+ - type: textarea
35
+ id: example
36
+ attributes:
37
+ label: Minimal Reproducible Example
38
+ description: |
39
+ Provide the smallest possible code example that reproduces the bug.
40
+ See [how to create minimal bug reports](https://matthewrocklin.com/minimal-bug-reports).
41
+ placeholder: |
42
+ import flixopt as fx
43
+ import pandas as pd
44
+
45
+ # Minimal example that reproduces the bug
46
+ timesteps = pd.date_range('2024-01-01', periods=24, freq='h')
47
+ flow_system = fx.FlowSystem(timesteps)
48
+
49
+ # Add components that trigger the bug...
50
+
51
+ # Show the problematic operation
52
+ result = flow_system.solve() # This should fail/behave unexpectedly
53
+ render: python
54
+ validations:
55
+ required: true
56
+
57
+ - type: textarea
58
+ id: error-output
59
+ attributes:
60
+ label: Error Output
61
+ description: If there's an error message, paste the full traceback here
62
+ render: shell
63
+
64
+ - type: dropdown
65
+ id: solver
66
+ attributes:
67
+ label: Solver Used
68
+ description: Which solver were you using?
69
+ options:
70
+ - HiGHS (default)
71
+ - Gurobi
72
+ - CPLEX
73
+ - GLPK
74
+ - CBC
75
+ - Other (specify below)
76
+ validations:
77
+ required: true
78
+
79
+ - type: input
80
+ id: os
81
+ attributes:
82
+ label: Operating System
83
+ placeholder: "e.g., Windows 11, macOS 14.2, Ubuntu 22.04"
84
+ validations:
85
+ required: true
86
+
87
+ - type: input
88
+ id: python-version
89
+ attributes:
90
+ label: Python Version
91
+ placeholder: "e.g., 3.11.5"
92
+ validations:
93
+ required: true
94
+
95
+ - type: textarea
96
+ id: environment
97
+ attributes:
98
+ label: Environment Info
99
+ description: |
100
+ Run one of these commands and paste the output:
101
+ - `pip freeze`
102
+ - `conda env export`
103
+ render: shell
104
+ value: >
105
+ <details>
106
+
107
+ ```
108
+ Replace this with your environment info
109
+ ```
110
+
111
+ </details>
@@ -0,0 +1,14 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: 🤔 Modeling Questions
4
+ url: https://github.com/flixOpt/flixopt/discussions/categories/q-a
5
+ about: "How to model specific energy systems, components, and constraints"
6
+ - name: ⚡ Performance & Optimization
7
+ url: https://github.com/flixOpt/flixopt/discussions/categories/performance
8
+ about: "Solver performance, memory usage, and optimization speed issues"
9
+ - name: 💡 Ideas & Suggestions
10
+ url: https://github.com/flixOpt/flixopt/discussions/categories/ideas
11
+ about: "Share ideas and discuss potential improvements with the community"
12
+ - name: 📖 Documentation
13
+ url: https://flixopt.github.io/flixopt/latest/
14
+ about: "Browse guides, API reference, and examples"
@@ -0,0 +1,127 @@
1
+ name: ✨ Feature Request
2
+ description: Suggest a new feature or enhancement
3
+ title: "[FEATURE] "
4
+ labels: ["type: feature"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for suggesting a new feature!
10
+
11
+ **Before submitting**: Please search [existing issues](https://github.com/flixOpt/flixopt/issues) and check our [roadmap](https://github.com/flixOpt/flixopt/discussions) to avoid duplicates.
12
+
13
+ - type: checkboxes
14
+ id: checks
15
+ attributes:
16
+ label: Prerequisites
17
+ options:
18
+ - label: I have searched existing issues and discussions
19
+ required: true
20
+ - label: I have checked the [documentation](https://flixopt.github.io/flixopt/latest/)
21
+ required: true
22
+
23
+ - type: dropdown
24
+ id: feature-type
25
+ attributes:
26
+ label: Feature Category
27
+ description: What type of feature is this?
28
+ options:
29
+ - New Component (storage, generation, conversion, etc.)
30
+ - Enhancement to Existing Component
31
+ - New Optimization Feature
32
+ - Data Input/Output Improvement
33
+ - Results/Visualization Enhancement
34
+ - Performance/Solver Improvement
35
+ - API/Usability Improvement
36
+ - Documentation/Examples
37
+ - Other
38
+ validations:
39
+ required: true
40
+
41
+ - type: textarea
42
+ id: problem
43
+ attributes:
44
+ label: Problem Statement
45
+ description: What problem would this feature solve?
46
+ placeholder: |
47
+ Current limitation: "FlixOpt doesn't support [specific energy system component/feature]..."
48
+
49
+ Impact: "This prevents users from modeling [specific scenarios]..."
50
+
51
+ - type: textarea
52
+ id: solution
53
+ attributes:
54
+ label: Proposed Solution
55
+ description: Describe your proposed solution in detail
56
+ placeholder: |
57
+ I propose adding a new component/feature that would...
58
+
59
+ Key capabilities:
60
+ - Feature 1
61
+ - Feature 2
62
+ - Feature 3
63
+ validations:
64
+ required: true
65
+
66
+ - type: textarea
67
+ id: use-case
68
+ attributes:
69
+ label: Use Case & Examples
70
+ description: Provide concrete examples of how this would be used
71
+ placeholder: |
72
+ Real-world scenario: "I'm modeling a microgrid with battery storage and need to..."
73
+
74
+ Specific requirements:
75
+ - Must handle [specific constraint]
76
+ - Should support [specific behavior]
77
+ - Would benefit [specific user group]
78
+ validations:
79
+ required: true
80
+
81
+ - type: textarea
82
+ id: code-example
83
+ attributes:
84
+ label: Desired API (Optional)
85
+ description: Show how you'd like to use this feature
86
+ placeholder: |
87
+ # Example of proposed API
88
+ component = fx.NewComponent(
89
+ label='example',
90
+ parameter1=value1,
91
+ parameter2=value2
92
+ )
93
+
94
+ flow_system.add_component(component)
95
+ render: python
96
+
97
+ - type: textarea
98
+ id: alternatives
99
+ attributes:
100
+ label: Alternatives Considered
101
+ description: What workarounds or alternatives have you tried?
102
+ placeholder: |
103
+ Current workaround: "I'm currently using [existing component] but it doesn't support..."
104
+
105
+ Other approaches considered: "I looked into [alternative] but..."
106
+
107
+ - type: dropdown
108
+ id: priority
109
+ attributes:
110
+ label: Priority/Impact
111
+ description: How important is this feature for your work?
112
+ options:
113
+ - Critical - Blocking important work
114
+ - High - Would significantly improve workflow
115
+ - Medium - Nice to have enhancement
116
+ - Low - Minor improvement
117
+
118
+ - type: textarea
119
+ id: additional-context
120
+ attributes:
121
+ label: Additional Context
122
+ description: References, papers, examples from other tools, etc.
123
+ placeholder: |
124
+ References:
125
+ - Research paper: [Title and link]
126
+ - Similar feature in [other tool]: [description]
127
+ - Industry standard: [description]
@@ -0,0 +1,40 @@
1
+ name: 📝 General Issue
2
+ description: For issues that don't fit the specific templates below
3
+ title: ""
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ **For specific issue types, please use the dedicated templates:**
9
+ - 🐛 **Bug Report** - Something is broken or not working as expected
10
+ - ✨ **Feature Request** - Suggest new functionality
11
+
12
+ **For other topics, consider using Discussions instead:**
13
+ - 🤔 [Modeling Questions](https://github.com/flixOpt/flixopt/discussions/categories/q-a) - How to model specific energy systems
14
+ - ⚡ [Performance Help](https://github.com/flixOpt/flixopt/discussions/categories/performance) - Optimization speed and memory issues
15
+
16
+ - type: textarea
17
+ id: issue-description
18
+ attributes:
19
+ label: Issue Description
20
+ description: Describe your issue, question, or concern
21
+ placeholder: |
22
+ Please describe:
23
+ - What you're trying to accomplish
24
+ - What's not working as expected
25
+ - Any relevant context or background
26
+ validations:
27
+ required: true
28
+
29
+ - type: textarea
30
+ id: context
31
+ attributes:
32
+ label: Additional Context
33
+ description: Code examples, environment details, error messages, etc.
34
+ placeholder: |
35
+ Optional: Add any relevant details like:
36
+ - Code snippets
37
+ - Error messages
38
+ - Environment info
39
+ - Screenshots
40
+ render: markdown
@@ -0,0 +1,20 @@
1
+ ## Description
2
+ Brief description of the changes in this PR.
3
+
4
+ ## Type of Change
5
+ - [ ] Bug fix
6
+ - [ ] New feature
7
+ - [ ] Documentation update
8
+ - [ ] Code refactoring
9
+
10
+ ## Related Issues
11
+ Closes #(issue number)
12
+
13
+ ## Testing
14
+ - [ ] I have tested my changes
15
+ - [ ] Existing tests still pass
16
+
17
+ ## Checklist
18
+ - [x] My code follows the project style
19
+ - [x] I have updated documentation if needed
20
+ - [x] I have added tests for new functionality (if applicable)