Skip to content

Commit b9fd38f

Browse files
committed
[v0.1.2] 2025-09-18
🎉PyPI package distribution should now be working for all integrated plug-ins 🎉 *Enhanced Build System and GPU Runtime Detection* - Added robust GPU runtime detection with fail-fast behavior and comprehensive error reporting - Enhanced wheel building infrastructure with improved GitHub Actions workflows and timeout management - **Build System**: Improved plugin dependency resolution with explicit user request tracking - **Context API**: Enhanced error handling with consistent RuntimeError exceptions and better UUID validation - **RadiationModel**: Expanded camera system integration with comprehensive GPU capability detection - **Testing**: Added pytest markers for GPU-specific tests and enhanced cross-platform test coverage
1 parent 6579776 commit b9fd38f

63 files changed

Lines changed: 4533 additions & 1454 deletions

Some content is hidden

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

.github/workflows/build-wheels.yml

Lines changed: 845 additions & 463 deletions
Large diffs are not rendered by default.

.github/workflows/pytest-linux-gpu.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
- name: Build PyHelios with all plugins (GPU included)
4646
run: |
4747
# Build with all available plugins including GPU-accelerated ones
48-
./build_scripts/build_helios --clean --plugins radiation,visualizer,weberpenntree
48+
./build_scripts/build_helios --clean
4949
5050
- name: Check plugin status
5151
run: |

.github/workflows/pytest-linux.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,16 @@ jobs:
2323

2424
- name: Install Helios dependencies
2525
run: |
26-
cd helios-core
27-
chmod +x utilities/dependencies.sh
28-
bash utilities/dependencies.sh VIS
26+
sudo apt-get update
27+
sudo apt-get install -y libomp-dev libx11-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev libxrandr-dev python3-dev pybind11-dev
2928
3029
- name: Install build dependencies only
3130
run: |
3231
python -m pip install --upgrade pip
3332
3433
- name: Build native libraries
3534
run: |
36-
python build_scripts/build_helios.py --buildmode release --plugins visualizer,weberpenntree --verbose
35+
python build_scripts/build_helios.py --buildmode release --nogpu --verbose
3736
3837
- name: Upload build artifacts
3938
uses: actions/upload-artifact@v4

.github/workflows/pytest-macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
3232
- name: Build native libraries
3333
run: |
34-
python build_scripts/build_helios.py --buildmode release --plugins visualizer,weberpenntree --verbose
34+
python build_scripts/build_helios.py --buildmode release --nogpu --verbose
3535
3636
- name: Upload build artifacts
3737
uses: actions/upload-artifact@v4

.github/workflows/pytest-windows.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
env:
3333
CMAKE_RC_COMPILER: ""
3434
run: |
35-
python build_scripts/build_helios.py --buildmode release --plugins visualizer,weberpenntree --verbose
35+
python build_scripts/build_helios.py --buildmode release --nogpu --verbose
3636
3737
- name: Upload build artifacts
3838
uses: actions/upload-artifact@v4
@@ -67,7 +67,12 @@ jobs:
6767
run: |
6868
python -m pip install --upgrade pip
6969
pip install -e .[dev]
70-
70+
# Remove pytest-forked on Windows (doesn't support fork())
71+
pip uninstall -y pytest-forked
72+
7173
- name: Run pytest
7274
run: |
73-
pytest -v
75+
# Create Windows-compatible pytest.ini without --forked flag
76+
(Get-Content pytest.ini) -replace ' --forked', '' | Set-Content pytest-windows.ini
77+
# Run pytest with Windows-compatible configuration
78+
pytest -c pytest-windows.ini -v

CLAUDE.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22

33
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
44

5+
## MANDATORY WORKFLOW - FOLLOW EVERY SESSION
6+
7+
### 1. Start Every Session
8+
- **TodoWrite**: Create todo list for complex/multi-step tasks (3+ steps or non-trivial tasks)
9+
- **Memory Check**: Search memory for relevant prior knowledge using `mcp__memory__search_nodes`
10+
- **Sub-Agent Selection**: Choose appropriate sub-agent(s) based on task type (see Sub-Agents section)
11+
12+
### 2. During Work
13+
- **TodoWrite**: Update progress frequently - mark tasks in_progress and completed immediately
14+
- **Memory Capture**: For any technical discoveries, solutions, or architectural insights, IMMEDIATELY document in memory using MCP tools
15+
16+
### 3. End Every Session
17+
- **Memory Documentation**: MANDATORY - Create memory entities for:
18+
- Technical issues discovered and their solutions
19+
- Design decisions made or conventions established
20+
- Architectural insights about PyHelios systems
21+
- Integration patterns or debugging approaches
22+
- **TodoWrite**: Mark final tasks as completed, clean up stale items
23+
- **Verification**: Confirm all memory writes were successful
24+
25+
### 4. Memory Guidelines
26+
**When to write memory (REQUIRED):**
27+
- New technical problems discovered and solved
28+
- Plugin integration insights or patterns
29+
- Testing architecture discoveries (like ctypes contamination)
30+
- Build system or configuration changes
31+
- Performance insights or optimization approaches
32+
33+
**How to write memory:**
34+
- Use `mcp__memory__create_entities` with specific entityType (technical_issue, solution, architecture, etc.)
35+
- Create meaningful relations with `mcp__memory__create_relations`
36+
- Write detailed observations that future sessions can reference
37+
538
## Sub-Agents
639

740
- Make sure to familiarize yourself with the available sub-agents (@.claude/agents/) and use them efficiently:

MANIFEST.in

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@ include pyproject.toml
1313
include requirements*.txt
1414
include pytest.ini
1515

16+
# Include stub file for platform-specific wheels
17+
include pyhelios/_stub.c
18+
1619
# Include native libraries that get built
1720
recursive-include pyhelios/plugins *.dll *.so *.dylib
1821

22+
# Include PyHelios assets for wheel packaging
23+
recursive-include pyhelios/assets *
24+
1925
# Exclude test and development files
2026
recursive-exclude tests *
2127
recursive-exclude .github *

0 commit comments

Comments
 (0)