Skip to content

Commit be6bd42

Browse files
committed
Merge main into v3.0.0/main
2 parents 1474af6 + e07dca8 commit be6bd42

21 files changed

Lines changed: 1440 additions & 211 deletions

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 60 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,70 +7,100 @@ body:
77
attributes:
88
value: |
99
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+
1013
- type: checkboxes
1114
id: checks
1215
attributes:
13-
label: Version Checks (indicate both or one)
16+
label: Version Confirmation
17+
description: Please confirm you can reproduce this on a supported version
1418
options:
15-
- label: >
16-
I have confirmed this bug exists on the latest
17-
[release](https://github.com/flixOpt/flixopt/releases) of FlixOpt.
18-
- label: >
19-
I have confirmed this bug exists on the current
20-
[`main`](https://github.com/flixOpt/flixopt/tree/main) branch of FlixOpt.
19+
- label: I have confirmed this bug exists on the latest [release](https://github.com/flixOpt/flixopt/releases) of FlixOpt
20+
required: true
21+
2122
- type: textarea
2223
id: problem
2324
attributes:
24-
label: Issue Description
25-
description: >
26-
Please provide a description of the issue.
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.
2731
validations:
2832
required: true
33+
2934
- type: textarea
3035
id: example
31-
validations:
32-
required: true
3336
attributes:
34-
label: Reproducible Example
35-
description: >
36-
Please provide a minimal reproducible example. See how to [craft minimal bug reports](https://matthewrocklin.com/minimal-bug-reports).
37-
placeholder: >
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: |
3842
import flixopt as fx
43+
import pandas as pd
3944
40-
# Create simple energy system that reproduces the bug
45+
# Minimal example that reproduces the bug
4146
timesteps = pd.date_range('2024-01-01', periods=24, freq='h')
4247
flow_system = fx.FlowSystem(timesteps)
4348
44-
# Add your components here...
49+
# Add components that trigger the bug...
50+
51+
# Show the problematic operation
52+
result = flow_system.solve() # This should fail/behave unexpectedly
4553
render: python
46-
- type: textarea
47-
id: expected-behavior
4854
validations:
4955
required: true
56+
57+
- type: textarea
58+
id: error-output
5059
attributes:
51-
label: Expected Behavior
52-
description: >
53-
Please describe or show a code example of the expected behavior.
60+
label: Error Output
61+
description: If there's an error message, paste the full traceback here
62+
render: shell
63+
5464
- type: dropdown
5565
id: solver
5666
attributes:
5767
label: Solver Used
58-
description: Which solver were you using when the bug occurred?
68+
description: Which solver were you using?
5969
options:
6070
- HiGHS (default)
6171
- Gurobi
6272
- CPLEX
6373
- GLPK
64-
- Other (please specify in description)
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"
6584
validations:
6685
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+
6795
- type: textarea
68-
id: version
96+
id: environment
6997
attributes:
70-
label: Installed Versions
71-
description: >
72-
Please share information on your environment. Paste the output below.
73-
For conda: `conda env export` and for pip: `pip freeze`.
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
74104
value: >
75105
<details>
76106

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
blank_issues_enabled: false
22
contact_links:
3-
- name: ❓ Questions & Discussion
4-
url: https://github.com/flixOpt/flixopt/discussions
5-
about: Ask questions and discuss with the community
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"
612
- name: 📖 Documentation
713
url: https://flixopt.github.io/flixopt/latest/
8-
about: Check our documentation for guides and examples
14+
about: "Browse guides, API reference, and examples"
Lines changed: 96 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,127 @@
1-
name: Feature Request
2-
description: Suggest a new feature or enhancement for FlixOpt.
1+
name: Feature Request
2+
description: Suggest a new feature or enhancement
33
title: "[FEATURE] "
44
labels: ["type: feature"]
55
body:
66
- type: markdown
77
attributes:
88
value: |
9-
Thanks for suggesting a new feature! Please provide as much detail as possible.
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+
1013
- type: checkboxes
1114
id: checks
1215
attributes:
13-
label: Prerequisite Checks
16+
label: Prerequisites
1417
options:
15-
- label: >
16-
I have searched the [existing issues](https://github.com/flixOpt/flixopt/issues)
17-
and confirmed this feature doesn't already exist.
18-
- label: >
19-
I have checked the [documentation](https://flixopt.github.io/flixopt/latest/)
20-
to ensure this feature isn't already available.
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+
2141
- type: textarea
2242
id: problem
2343
attributes:
24-
label: Is your feature request related to a problem?
25-
description: >
26-
A clear and concise description of what the problem is.
27-
placeholder: >
28-
I'm always frustrated when modeling [specific energy system scenario]...
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+
2951
- type: textarea
3052
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
3163
validations:
3264
required: true
33-
attributes:
34-
label: Describe the solution you'd like
35-
description: >
36-
A clear and concise description of what you want to happen.
37-
placeholder: >
38-
I would like to be able to model [specific component/feature]...
65+
3966
- type: textarea
4067
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]
4178
validations:
4279
required: true
43-
attributes:
44-
label: Energy System Use Case
45-
description: >
46-
Describe your specific energy system modeling scenario and how this feature would help.
47-
placeholder: >
48-
I'm modeling a district heating system with seasonal thermal storage and need to...
80+
4981
- type: textarea
50-
id: example
82+
id: code-example
5183
attributes:
52-
label: Desired Code Example (optional)
53-
description: >
54-
If possible, show how you would like to use this feature in code.
55-
placeholder: >
56-
# Example of how the new feature might work
57-
thermal_storage = fx.SeasonalStorage(
58-
label='seasonal_storage',
59-
capacity_mwh=1000,
60-
efficiency=0.95
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
6192
)
93+
94+
flow_system.add_component(component)
6295
render: python
63-
- type: dropdown
64-
id: component-type
65-
attributes:
66-
label: Component Category (if applicable)
67-
description: What type of energy system component does this relate to?
68-
options:
69-
- Storage (batteries, thermal storage, etc.)
70-
- Generation (PV, wind, CHP, etc.)
71-
- Conversion (heat pumps, boilers, etc.)
72-
- Network/Grid (transmission, distribution)
73-
- Optimization/Calculation (algorithms, solvers)
74-
- Data/Input handling
75-
- Results/Output
76-
- Other
96+
7797
- type: textarea
7898
id: alternatives
7999
attributes:
80-
label: Alternatives considered
81-
description: >
82-
Describe any alternative solutions or workarounds you've considered.
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+
83118
- type: textarea
84119
id: additional-context
85120
attributes:
86-
label: Additional context
87-
description: >
88-
Add any other context, research papers, or examples about the feature request here.
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]
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

.github/pull_request_template.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ Closes #(issue number)
1515
- [ ] Existing tests still pass
1616

1717
## Checklist
18-
- [ ] My code follows the project style
19-
- [ ] I have updated documentation if needed
20-
- [ ] I have added tests for new functionality (if applicable)
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)

0 commit comments

Comments
 (0)