Skip to content

GEOPY-2739: Accept BaseUIJson in the start of driver#190

Merged
domfournier merged 28 commits intofeature/uijsonfrom
GEOPY-2739
Apr 9, 2026
Merged

GEOPY-2739: Accept BaseUIJson in the start of driver#190
domfournier merged 28 commits intofeature/uijsonfrom
GEOPY-2739

Conversation

@domfournier
Copy link
Copy Markdown
Contributor

@domfournier domfournier commented Mar 31, 2026

GEOPY-2739 - Accept BaseUIJson in the start of driver

@github-actions github-actions bot changed the title GEOPY-2739 GEOPY-2739: Accept BaseUIJson in the start of driver Mar 31, 2026
Comment thread geoapps_utils/run.py Fixed
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
@domfournier domfournier marked this pull request as ready for review April 2, 2026 21:03
Copilot AI review requested due to automatic review settings April 2, 2026 21:03
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates geoapps-utils to work with geoh5py.ui_json.UIJson as the primary ui.json representation (instead of InputFile/BaseUIJson), including allowing drivers to start from a UIJson instance and updating related templates and tests.

Changes:

  • Switch driver startup and UIJsonGroup execution flow to use UIJson objects directly.
  • Refactor Options to derive/serialize UIJson via a default template (base.ui.json) and adjust tests accordingly.
  • Update the base ui.json asset schema for out_group and pin geoh5py to a GEOPY-2739 revision.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
geoapps_utils/base.py Refactors Driver.start and Options to operate around UIJson, adds deprecation path for InputFile, and updates serialization/out_group saving.
geoapps_utils/run.py Updates run_uijson_group and workspace/ui.json copy helpers to use UIJson.read/from_dict/write.
geoapps_utils-assets/uijson/base.ui.json Updates the base template to represent out_group as a structured group parameter object.
tests/uijson_run_test.py Updates test setup to build and write a UIJson file directly and adjusts expected filenames.
tests/driver_test.py Aligns tests with new UIJson-based serialization behavior and updated exception types.
tests/dataclass_test.py Loosens flatten equality assertions to avoid direct geoh5 comparisons and updates UIJson writing callsites.
pyproject.toml Pins geoh5py dependency to rev = "GEOPY-2739".

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread geoapps_utils/base.py Outdated
Comment thread geoapps_utils/base.py Outdated
Comment thread geoapps_utils/base.py
Comment thread geoapps_utils/base.py Outdated
Comment thread geoapps_utils/base.py Outdated
Comment thread pyproject.toml
Comment thread geoapps_utils/base.py Outdated
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 2, 2026

Codecov Report

❌ Patch coverage is 87.05882% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.68%. Comparing base (f0289a8) to head (51c1155).
⚠️ Report is 29 commits behind head on feature/uijson.

Files with missing lines Patch % Lines
geoapps_utils/base.py 86.27% 3 Missing and 4 partials ⚠️
geoapps_utils/run.py 81.25% 1 Missing and 2 partials ⚠️
geoapps_utils/param_sweeps/generate.py 91.66% 1 Missing ⚠️
Additional details and impacted files
@@                Coverage Diff                 @@
##           feature/uijson     #190      +/-   ##
==================================================
+ Coverage           85.12%   85.68%   +0.55%     
==================================================
  Files                  19       18       -1     
  Lines                1163      908     -255     
  Branches              151      114      -37     
==================================================
- Hits                  990      778     -212     
+ Misses                134       95      -39     
+ Partials               39       35       -4     
Files with missing lines Coverage Δ
geoapps_utils/param_sweeps/driver.py 81.60% <100.00%> (-0.21%) ⬇️
geoapps_utils/param_sweeps/generate.py 78.94% <91.66%> (+4.58%) ⬆️
geoapps_utils/run.py 90.99% <81.25%> (-1.61%) ⬇️
geoapps_utils/base.py 83.53% <86.27%> (-8.18%) ⬇️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have the feeling the tests were supress without being replaced.

As this is at the root of all our apps, it shoulkd be heavily unitested right?

image

!!

Comment thread pyproject.toml
Comment thread tests/base_test.py
Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

failueres with scigeoh5.
The solution is to open everything in the same workspace.

Comment thread geoapps_utils/base.py Outdated
Comment thread geoapps_utils/base.py Outdated
Comment thread geoapps_utils/base.py Outdated
Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still, when the test are passing, a very low coverage:

Image ...

As I said before, we want to test our base package a lot!

Comment thread geoapps_utils/base.py Outdated
@domfournier domfournier changed the base branch from develop to feature/uijson April 7, 2026 16:49
Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's getting good.
Few comments, mostly questions

Comment thread geoapps_utils/base.py
Comment thread geoapps_utils/base.py
Comment thread geoapps_utils/base.py
Comment thread geoapps_utils/base.py Outdated
MatthieuCMira
MatthieuCMira previously approved these changes Apr 9, 2026
Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good for me

Comment thread geoapps_utils/base.py
Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good to go

@domfournier domfournier merged commit 7d102df into feature/uijson Apr 9, 2026
19 checks passed
@domfournier domfournier deleted the GEOPY-2739 branch April 9, 2026 17:47
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.

3 participants