Skip to content

GEOPY-2731: Replace InputFile for BaseUIJson class - #56

Open
domfournier wants to merge 9 commits into
developfrom
GEOPY-2731
Open

GEOPY-2731: Replace InputFile for BaseUIJson class#56
domfournier wants to merge 9 commits into
developfrom
GEOPY-2731

Conversation

@domfournier

@domfournier domfournier commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

GEOPY-2731 - Replace InputFile for BaseUIJson class

Copilot AI lite review requested due to automatic review settings August 10, 2026 21:45
@github-actions github-actions Bot changed the title GEOPY-2731 GEOPY-2731: Replace InputFile for BaseUIJson class Aug 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown

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 surface-app drivers to use geoapps_utils.base.Driver directly (removing the custom BaseSurfaceDriver/InputFile pathway) as part of the UIJson-related refactor, and refreshes dependency pins/locks accordingly.

Changes:

  • Switch iso_surfaces and surface_normals drivers to inherit from geoapps_utils.base.Driver and align behavior with the new base driver pattern (e.g., returning created objects).
  • Remove surface_apps/driver.py (BaseSurfaceDriver) and associated InputFile handling.
  • Update geoh5py / geoapps-utils git refs in pyproject.toml and regenerate conda-lock files.

Reviewed changes

Copilot reviewed 16 out of 18 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
surface_apps/surface_normals/driver.py Migrates to geoapps_utils.base.Driver and returns generated Points outputs.
surface_apps/iso_surfaces/driver.py Migrates to geoapps_utils.base.Driver and refactors the main execution method (now run).
surface_apps/driver.py Removes the custom BaseSurfaceDriver abstraction and InputFile-based parameter building.
pyproject.toml Updates geoh5py and geoapps-utils git refs to the UIJson feature branch.
environments/py-3.13-win-64.conda.lock.yml Regenerated lockfile reflecting updated dependency resolution.
environments/py-3.13-win-64-dev.conda.lock.yml Regenerated dev lockfile reflecting updated dependency resolution.
environments/py-3.13-linux-64.conda.lock.yml Regenerated lockfile reflecting updated dependency resolution.
environments/py-3.13-linux-64-dev.conda.lock.yml Regenerated dev lockfile reflecting updated dependency resolution.
environments/py-3.12-win-64.conda.lock.yml Regenerated lockfile reflecting updated dependency resolution.
environments/py-3.12-win-64-dev.conda.lock.yml Regenerated dev lockfile reflecting updated dependency resolution.
environments/py-3.12-linux-64.conda.lock.yml Regenerated lockfile reflecting updated dependency resolution.
environments/py-3.12-linux-64-dev.conda.lock.yml Regenerated dev lockfile reflecting updated dependency resolution.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread surface_apps/iso_surfaces/driver.py Outdated
Comment thread pyproject.toml
@codecov

codecov Bot commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.95%. Comparing base (7e76c08) to head (87f191f).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #56      +/-   ##
===========================================
+ Coverage    77.40%   84.95%   +7.55%     
===========================================
  Files            5        5              
  Lines          239      246       +7     
  Branches        29       30       +1     
===========================================
+ Hits           185      209      +24     
+ Misses          44       22      -22     
- Partials        10       15       +5     
Files with missing lines Coverage Δ
surface_apps/iso_surfaces/driver.py 87.17% <100.00%> (+21.39%) ⬆️
surface_apps/iso_surfaces/options.py 82.19% <100.00%> (ø)
surface_apps/surface_normals/driver.py 83.87% <100.00%> (+0.53%) ⬆️
surface_apps/surface_normals/options.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@gmcga gmcga left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

See comments

Comment thread surface_apps/iso_surfaces/options.py Outdated
Comment thread surface_apps/iso_surfaces/driver.py

@gmcga gmcga left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

  • See my comment in iso_surfaces.driver

  • I checked the test coverage and noticed the branch coverage in particular seems pretty low for the iso_surfaces driver and options, so I would think it probably makes sense to bolster the unit tests before proceeding/merging.

  • I didn't think to look at this before but the docs are also outdated due to some things being removed - there are still references to surface_apps/driver.py which is referenced in api_reference.rst and usage.rst, and surface_apps.iso_surfaces.params referenced in iso_surfaces.rst

Comment thread surface_apps/iso_surfaces/driver.py
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