Skip to content

Commit 0f27bd6

Browse files
authored
Merge pull request #300 from TemoaProject/unstable
Merge v4 to main
2 parents 9f55327 + 409def9 commit 0f27bd6

1,077 files changed

Lines changed: 72775 additions & 116878 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.coderabbit.yaml

Lines changed: 728 additions & 0 deletions
Large diffs are not rendered by default.

.gitattributes

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Auto-detect text files and normalize them to LF on checkin.
2+
# Force LF on checkout for all text files to avoid Windows CRLF issues.
3+
* text=auto eol=lf
4+
5+
# Explicitly force LF for text files, redundant but explicit
6+
*.toml text eol=lf
7+
*.txt text eol=lf
8+
*.md text eol=lf
9+
*.rst text eol=lf
10+
*.py text eol=lf
11+
*.json text eol=lf
12+
*.yaml text eol=lf
13+
*.yml text eol=lf
14+
*.sh text eol=lf
15+
16+
# Explicitly declare binary files to avoid accidental corruption
17+
*.png binary
18+
*.jpg binary
19+
*.jpeg binary
20+
*.gif binary
21+
*.ico binary
22+
*.pdf binary
23+
*.sqlite binary
24+
*.db binary
25+
*.pyc binary
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
name: Bug report
3+
about: Report a reproducible bug or unexpected behavior.
4+
title: "[Bug]: Clear and concise description of the bug"
5+
labels: bug, needs-triage
6+
assignees: ''
7+
8+
---
9+
10+
## Bug Description
11+
12+
Clearly and concisely describe the bug you've encountered. What is the unexpected behavior? What did you expect to happen instead?
13+
14+
## Steps to Reproduce
15+
16+
Provide a clear, step-by-step procedure to reproduce the bug. This is crucial for us to understand and fix the issue.
17+
18+
1. Go to '...'
19+
2. Click on '....'
20+
3. Scroll down to '....'
21+
4. See error '....'
22+
23+
## Code or Configuration Example
24+
25+
If the bug involves code or configuration, please provide a minimal, reproducible example that demonstrates the issue. This should be the smallest amount of code/config necessary to trigger the bug.
26+
27+
```python
28+
# Example of bug-inducing code (if relevant)
29+
import my_library
30+
31+
# Setup or initialization
32+
config = {
33+
"setting_a": "value",
34+
"setting_b": 123
35+
}
36+
processor = my_library.Processor(**config)
37+
38+
# Action that triggers the bug
39+
try:
40+
processor.process_data(invalid_data)
41+
except Exception as e:
42+
print(f"Error: {e}")
43+
```
44+
45+
## Error Message / Stack Trace
46+
47+
If an error message or stack trace was produced, please include it here. Use code blocks for better readability.
48+
49+
```text
50+
# Example Error Message/Stack Trace
51+
Traceback (most recent call last):
52+
File "<stdin>", line 7, in <module>
53+
processor.process_data(invalid_data)
54+
File "/path/to/my_library/processor.py", line 42, in process_data
55+
raise ValueError("Invalid data provided")
56+
ValueError: Invalid data provided
57+
```
58+
59+
## Screenshots / Videos
60+
61+
If applicable, add screenshots to help explain the problem. You can drag and drop images directly into the issue description.
62+
63+
## Expected Behavior
64+
65+
Describe what you expected to happen when following the reproduction steps.
66+
67+
## Actual Behavior
68+
69+
Describe what actually happened, including any unexpected output or results.
70+
71+
## Environment
72+
73+
Please provide details about your environment. This helps us reproduce the issue.
74+
75+
* **Operating System:**
76+
* **Python Version:**
77+
* **Project Version:**
78+
* **Relevant Dependencies:**
79+
80+
## Checklist
81+
82+
* [ ] I have searched existing issues to ensure this bug hasn't already been reported.
83+
* [ ] I have provided clear steps to reproduce the bug.
84+
* [ ] I have provided a minimal, reproducible code example (if applicable).
85+
* [ ] I have included any relevant error messages or stack traces.
86+
* [ ] I have described the expected and actual behavior.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for a new feature or enhancement.
4+
title: "[Feature]: Concise title for your feature request"
5+
labels: enhancement, needs-triage
6+
assignees: ''
7+
8+
---
9+
10+
## Feature Request
11+
12+
Clearly and concisely describe the new feature or enhancement you are requesting.
13+
14+
## Problem Statement
15+
16+
What problem does this new feature or enhancement solve? Why is it needed? Describe the current limitations or pain points that this feature would address.
17+
18+
## Proposed Solution (optional)
19+
20+
Describe your proposed solution or how you envision this feature working. Be as specific as possible. Consider:
21+
22+
* **User Interface/API Changes:** How would a user interact with this new feature?
23+
* **Configuration:** Would new configuration options be needed?
24+
* **Examples of Usage:** Provide a hypothetical example of how this feature would be used.
25+
## Benefits
26+
27+
What are the benefits of implementing this feature? How would it improve the project for users?
28+
29+
* (e.g., "It would simplify X workflow for users.")
30+
* (e.g., "It would enable Y functionality that is currently impossible.")
31+
* (e.g., "It would improve performance by Z% in certain scenarios.")
32+
33+
## Alternatives Considered
34+
35+
Have you considered any alternative approaches or workarounds for the problem you're trying to solve? If so, why do you think this feature request is a better solution?
36+
37+
## Additional Context
38+
39+
Add any other context, links, or information about the feature request here. This could include:
40+
41+
* Similar features in other projects.
42+
* Relevant research papers or articles.
43+
* Any potential challenges or considerations for implementation.
44+
45+
## Checklist
46+
47+
* [ ] I have searched existing issues to ensure this feature hasn't already been requested.
48+
* [ ] I have clearly described the problem this feature solves.
49+
* [ ] I have provided a detailed proposed solution (optional).
50+
* [ ] I have explained the benefits of this feature.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: Question
3+
about: Questions about the usage or working of a feature
4+
title: "[Question]: Your concise question title here"
5+
labels: needs-triage, question
6+
assignees: ''
7+
8+
---
9+
10+
## Question
11+
Clearly and concisely state your question here. What are you trying to understand or achieve?
12+
13+
## Context
14+
Provide any relevant background information or context that might help us understand your question better. For example:
15+
16+
* **What are you trying to do?** (e.g., "I'm trying to integrate X with Y," "I'm trying to achieve Z functionality.")
17+
* **Why is this question important to you?** (e.g., "This is blocking my progress on feature A," "I'm trying to decide between two approaches.")
18+
* **What steps have you already taken to find an answer?** (e.g., "I've checked the documentation for X," "I've searched existing issues for similar topics," "I've tried searching on Stack Overflow.")
19+
20+
## Details & Examples
21+
22+
If applicable, provide specific details, code snippets, or examples that illustrate your question. This is especially helpful for questions related to:
23+
24+
* **Usage:** How are you currently trying to use the project?
25+
* **Configuration:** What relevant configuration are you using?
26+
* **Code:** If your question involves code, please provide a minimal, reproducible example.
27+
28+
## Environment
29+
30+
Please provide details about your environment. This helps us reproduce issues or understand potential incompatibilities.
31+
32+
* **Operating System:**
33+
* **Python Version:**
34+
* **Project Version:**
35+
* **Relevant Dependencies:**
36+
37+
## Checklist
38+
39+
* [ ] I have checked the [documentation](https://docs.temoaproject.org/en/latest/) for an answer.
40+
* [ ] I have searched existing issues to ensure my question hasn't already been asked.
41+
* [ ] I have provided as much detail as possible to help answer my question.

.github/workflows/ci.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
[
7+
"main",
8+
"temoa_alpha",
9+
"ci_testing",
10+
"1.0.0-dev-operator",
11+
"temoa_davey_code",
12+
"unstable",
13+
]
14+
pull_request:
15+
branches:
16+
[
17+
"main",
18+
"temoa_alpha",
19+
"ci_testing",
20+
"1.0.0-dev-operator",
21+
"temoa_davey_code",
22+
"unstable",
23+
]
24+
25+
jobs:
26+
test:
27+
name: setup and test
28+
runs-on: ${{ matrix.os }}
29+
strategy:
30+
matrix:
31+
os: [ubuntu-latest, macos-latest, windows-latest]
32+
python-version: ["3.12", "3.13", "3.14"]
33+
34+
steps:
35+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
36+
37+
- name: Install uv
38+
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
39+
with:
40+
version: "0.9.26"
41+
python-version: ${{ matrix.python-version }}
42+
enable-cache: true
43+
44+
- name: Install the project
45+
run: uv sync --locked --all-extras --dev
46+
47+
- name: Install Graphviz (Ubuntu)
48+
if: runner.os == 'Linux'
49+
run: sudo apt-get install -y graphviz
50+
51+
- name: Install Graphviz (macOS)
52+
if: runner.os == 'macOS'
53+
run: brew install graphviz
54+
55+
- name: Install Graphviz (Windows)
56+
if: runner.os == 'Windows'
57+
run: choco install graphviz -y
58+
59+
- name: Run tests
60+
env:
61+
CI: 1
62+
run: uv run pytest tests
63+
64+
type-check:
65+
name: type check
66+
runs-on: ubuntu-latest
67+
strategy:
68+
matrix:
69+
python-version: ["3.12"]
70+
71+
steps:
72+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
73+
74+
- name: Install uv
75+
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
76+
with:
77+
version: "0.9.26"
78+
python-version: ${{ matrix.python-version }}
79+
enable-cache: true
80+
81+
- name: Install the project
82+
run: uv sync --locked --all-extras --dev
83+
84+
- name: Run mypy
85+
run: uv run mypy --config-file=pyproject.toml .

0 commit comments

Comments
 (0)