-
Notifications
You must be signed in to change notification settings - Fork 48
Fix failing pip tests #422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This removes automatic module loading of the heavy wave.io module and is meant to fix cross module loading of unnecessary submodules. One example: `import loads` when installed via pip install "mhkit[loads]" imports `wave.resource.frequency_moment`, which also imports the unnecessary wave.io module which has a dependency on requests. This fails if the user doesn't have `requests` installed, but that module is not necessary to run `frequency_moment`.
Loads module tests call wave/contours.py which requires `statsmodels`
`requests` is small, common python library. There are some modules that pull from multiple modules (loads calls wave) which require `requests`. This always includes requests for all modules.
Loads tests call wave.contours, which need scikit-learn
|
@akeeste, this is ready for review. This installs system binaries of h5 and netcdf libraries on linux and then reinstalls and builds h5py and netcdf python libraries using these binaries. This should fix all variations of these errors in the |
|
These specific tests are passing, indicating that this fix works:
https://github.com/MHKiT-Software/MHKiT-Python/actions/runs/18564411952 |

Status: Ready
This is a fix for failing pip tests in main.yml:
https://github.com/MHKiT-Software/MHKiT-Python/actions/runs/18511807517/job/52754343805?pr=421
https://github.com/MHKiT-Software/MHKiT-Python/actions/runs/18511807517/job/52754343883?pr=421
There are lots of errors in both of these tests related to h5 and netcdf4. One fix for this is installing the system h5 and nc binaries and having pip rebuild against these binaries