Skip to content

Comments

refactor: separate results handling from core simulation logic#29

Closed
mbarlow12 wants to merge 11 commits intoRMI:mainfrom
mbarlow12:refactor/separate-xml-results
Closed

refactor: separate results handling from core simulation logic#29
mbarlow12 wants to merge 11 commits intoRMI:mainfrom
mbarlow12:refactor/separate-xml-results

Conversation

@mbarlow12
Copy link

Summary

  • Create new opgee/results.py module with FieldResult, lightweight Aggregator, parse_aggregators(), and get_field_result() functions
  • Transform XML structure: move Process elements from inside Aggregators to Field level, use ProcessRef elements in Aggregators for results grouping only
  • Update Container and Field classes to remove old Aggregator support (aggs, descendant_aggs, find_agg)
  • Remove old Aggregator class from process.py and simplify xml_utils.py
  • Delete unused tests/files/test_gui.xml

This decouples results collection from the process hierarchy, making Aggregators purely a results-grouping concept parsed from XML rather than part of the Container/Process object model.

Test plan

  • All 274 tests pass
  • Manual verification with uv run opg run <model.xml>
  • Review XML transformation is correct in opgee.xml and test files

- Replace Conda/pip/setup.py with uv commands
- Remove outdated requirements.txt and Nuitka build sections
- Remove debugging targets (act, a, t, list, dc)
- Add self-documenting help target
- Add clean targets for build artifacts
- Reduce from 172 to 78 lines
- Create opgee/results.py with FieldResult, lightweight Aggregator, parse_aggregators(), and get_field_result()
- Transform XML: move Process elements to Field level, use ProcessRef in Aggregators for results grouping
- Update Container/Field to remove old Aggregator support (aggs, descendant_aggs, find_agg)
- Remove old Aggregator class from process.py and simplify xml_utils.py
- Delete unused tests/files/test_gui.xml
- All 274 tests pass
@mbarlow12 mbarlow12 closed this Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant