Allow NumPy functions to pass type checks #692
Merged
+31
−31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference issues/PRs
Fixes #682. Fixes #683.
Types of changes
Description
As of NumPy 1.25, functions like
np.mean
are no longer instances oftypes.FunctionType
(because they are C, rather than Python, functions). See this discussion. This was leading to the error in #683 and #682, and causing a number of tests to fail.This PR fixes the issue by replacing
types.FunctionType
withtyping.Callable
. (If this is considered too broad, an alternative solution would be to addtype(np.mean)
to the relevant type checks; I'd be happy to write this up instead.)Tests on the files I updated are passing; some other tests are failing for me for reasons having to do with a behavior change in
sklearn
, unrelated to this PR.Checklist
flake8
to check my Python changes.pytest
to check this on Python tests.