Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork11.8k
TYP: fix np.number and np.*integer method declaration#29784
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This comment has been minimized.
This comment has been minimized.
jorenham commentedSep 22, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
This apparently needs#29629 |
Diff frommypy_primer, showing the effect of this PR on type check results on a corpus of open source code: jax (https://github.com/google/jax)+ jax/_src/basearray.pyi:111: error: Unused "type: ignore" comment [unused-ignore]+ jax/_src/basearray.pyi:112: error: Unused "type: ignore" comment [unused-ignore]+ jax/_src/basearray.pyi:113: error: Unused "type: ignore" comment [unused-ignore]+ jax/_src/basearray.pyi:115: error: Unused "type: ignore" comment [unused-ignore]+ jax/_src/basearray.pyi:119: error: Unused "type: ignore" comment [unused-ignore]colour (https://github.com/colour-science/colour)- colour/continuous/signal.py:838: error: No overload variant of "__call__" of "_ComparisonOpLE" matches argument type "Buffer" [call-overload]+ colour/continuous/signal.py:838: error: No overload variant of "__le__" of "number" matches argument type "Buffer" [operator]- colour/continuous/signal.py:838: note: def __call__(self, complex | number[Any, int | float | complex] | numpy.bool[builtins.bool], /) -> numpy.bool[builtins.bool]+ colour/continuous/signal.py:838: note: def __le__(self, complex | number[Any, int | float | complex] | numpy.bool[builtins.bool], /) -> numpy.bool[builtins.bool]- colour/continuous/signal.py:838: note: def __call__(self, _SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]]] | complex | _NestedSequence[complex], /) -> ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]+ colour/continuous/signal.py:838: note: def __le__(self, _SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]]] | complex | _NestedSequence[complex] | _NestedSequence[_SupportsGE], /) -> ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]- colour/continuous/signal.py:838: note: def __call__(self, _NestedSequence[_SupportsGE], /) -> ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]- colour/continuous/signal.py:838: note: def __call__(self, _SupportsGE, /) -> numpy.bool[builtins.bool]+ colour/continuous/signal.py:838: note: def __le__(self, _SupportsGE, /) -> numpy.bool[builtins.bool]- colour/continuous/signal.py:838: error: Argument 1 to "__call__" of "_ComparisonOpLE" has incompatible type "_NestedSequence[complex | bytes | str]"; expected "_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]]] | complex | _NestedSequence[complex]" [arg-type]+ colour/continuous/signal.py:838: error: Unsupported operand types for <= ("floating[_16Bit]" and "_NestedSequence[complex | bytes | str]") [operator]+ colour/continuous/signal.py:838: error: Unsupported operand types for <= ("floating[_32Bit]" and "_NestedSequence[complex | bytes | str]") [operator]+ colour/continuous/signal.py:838: error: Unsupported operand types for <= ("float64" and "_NestedSequence[complex | bytes | str]") [operator]- colour/continuous/signal.py:838: error: No overload variant of "__call__" of "_ComparisonOpLE" matches argument type "slice[Any, Any, Any]" [call-overload]+ colour/continuous/signal.py:838: error: No overload variant of "__le__" of "number" matches argument type "slice[Any, Any, Any]" [operator]- colour/continuous/signal.py:839: error: No overload variant of "__call__" of "_ComparisonOpGE" matches argument type "Buffer" [call-overload]+ colour/continuous/signal.py:839: error: No overload variant of "__ge__" of "number" matches argument type "Buffer" [operator]- colour/continuous/signal.py:839: note: def __call__(self, complex | number[Any, int | float | complex] | numpy.bool[builtins.bool], /) -> numpy.bool[builtins.bool]+ colour/continuous/signal.py:839: note: def __ge__(self, complex | number[Any, int | float | complex] | numpy.bool[builtins.bool], /) -> numpy.bool[builtins.bool]- colour/continuous/signal.py:839: note: def __call__(self, _SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]]] | complex | _NestedSequence[complex], /) -> ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]+ colour/continuous/signal.py:839: note: def __ge__(self, _SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]]] | complex | _NestedSequence[complex] | _NestedSequence[_SupportsLE], /) -> ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]- colour/continuous/signal.py:839: note: def __call__(self, _NestedSequence[_SupportsGT], /) -> ndarray[tuple[Any, ...], dtype[numpy.bool[builtins.bool]]]- colour/continuous/signal.py:839: note: def __call__(self, _SupportsGT, /) -> numpy.bool[builtins.bool]+ colour/continuous/signal.py:839: note: def __ge__(self, _SupportsLE, /) -> numpy.bool[builtins.bool]- colour/continuous/signal.py:839: error: Argument 1 to "__call__" of "_ComparisonOpGE" has incompatible type "_NestedSequence[complex | bytes | str]"; expected "_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[numpy.bool[builtins.bool] | number[Any, int | float | complex]]]] | complex | _NestedSequence[complex]" [arg-type]+ colour/continuous/signal.py:839: error: Unsupported operand types for >= ("floating[_16Bit]" and "_NestedSequence[complex | bytes | str]") [operator]+ colour/continuous/signal.py:839: error: Unsupported operand types for >= ("floating[_32Bit]" and "_NestedSequence[complex | bytes | str]") [operator]+ colour/continuous/signal.py:839: error: Unsupported operand types for >= ("float64" and "_NestedSequence[complex | bytes | str]") [operator]- colour/continuous/signal.py:839: error: No overload variant of "__call__" of "_ComparisonOpGE" matches argument type "slice[Any, Any, Any]" [call-overload]+ colour/continuous/signal.py:839: error: No overload variant of "__ge__" of "number" matches argument type "slice[Any, Any, Any]" [operator]freqtrade (https://github.com/freqtrade/freqtrade)- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "str"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("str" and "integer[Any]") [operator]- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "bytes"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("bytes" and "integer[Any]") [operator]- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "date"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "datetime"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "timedelta"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "Timestamp"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]- freqtrade/data/converter/orderflow.py:175: error: Argument 1 to "__call__" of "_NumberOp" has incompatible type "Timedelta"; expected "complex | number[Any, int | float | complex] | numpy.bool[builtins.bool]" [arg-type]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "str") [operator]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "bytes") [operator]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "date") [operator]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "datetime") [operator]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "timedelta") [operator]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "Timestamp") [operator]+ freqtrade/data/converter/orderflow.py:175: error: Unsupported operand types for - ("integer[Any]" and "Timedelta") [operator]pandas-stubs (https://github.com/pandas-dev/pandas-stubs)+ pandas-stubs/_libs/tslibs/period.pyi:167: error: Unused "type: ignore" comment [unused-ignore] |
jorenham commentedSep 23, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Primer diffs looks scarier than it is (see#29706 (comment) for details), so this should be good now |
adb8fc0 intonumpy:maintenance/2.3.xUh oh!
There was an error while loading.Please reload this page.
Backport of#29706.
Follow-up of#29695, partially addressingpython/mypy#15993 (comment)
This only leaves
floating,timedelta64, anddatetime64.