Clemens Brunner
Clemens Brunner
@drammock I'm not sure how to remove a core dependency, since the hook generates the list from the latest stable release. Other than that, I tried to minimize the changes...
> For the hook I think it's easiest probably just to add an exception to the hook code for now. We've hit that problem before and I think that's how...
That's why this PR is a draft, I thought it would be a good idea to give people an idea of the required changes. (And just as a side note,...
> For the hook I think it's easiest probably just to add an exception to the hook code for now. We've hit that problem before and I think that's how...
BTW, `mne.preprocessing.xdawn` also requires `sklearn.base.TransformerMixin`.
If anyone wants to try the current state of this PR, `import mne` should now work if `sklearn` is installed.
I think I nested all `scipy` imports, but this didn't influence import time at all (maybe I forgot something).
> Beyond that I'm not sure how we'd get classes in `mne.decoding` to properly subclass `sklearn` classes (e.g., `TransformerMixin`, `MetaEstimatorMixin`, etc.). Before lazy loading we had our own duplicated, half-baked,...
[The error related to `scipy.signal.minimum_phase()`](https://github.com/mne-tools/mne-python/actions/runs/13567484932/job/37923837648?pr=13124) does not seem to be related to the changes in this PR, since the [`half` parameter was introduced with SciPy 1.14.0](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.minimum_phase.html) (and the test uses...
Never mind, I did not use the one from `fixes`...