mypy occasional error on _UnknownType in _array_like.py since 1.22 or 1.23

I upgraded from 1.21 to 1.23.3 recently and got a variety of mypy issues. I seem to have resolved all of them, but I occasionally still see this show up: .venv/lib/python3.10/site-packages/numpy/_typing/_array_like.py:153: error: Type argument "_UnknownType" of "dtype" must be a subtype of "generic" [type-var] On mypy 0.981 this is not 100% repro and if I restart dmypy it goes away... until it comes back. I just now upgraded to mypy 0.982 and didn't get it on one run, at least not right away. Maybe this was some kind of mypy issue, but time will tell. I haven't seen exactly this error getting posted anywhere. I know this is a fairly recent change and it looks like there's a lot of type hinting work going on (excellent work! I love it, thank you numpy devs!). Anyone else got any insight on what's going on here? Is this a known issue? Is this a mypy issue? Thanks everyone. --Nick

On Mon, Oct 10, 2022 at 12:27 PM Nick Gerner <nick.gerner@gmail.com> wrote:
I upgraded from 1.21 to 1.23.3 recently and got a variety of mypy issues. I seem to have resolved all of them, but I occasionally still see this show up:
.venv/lib/python3.10/site-packages/numpy/_typing/_array_like.py:153: error: Type argument "_UnknownType" of "dtype" must be a subtype of "generic" [type-var]
On mypy 0.981 this is not 100% repro and if I restart dmypy it goes away... until it comes back. I just now upgraded to mypy 0.982 and didn't get it on one run, at least not right away. Maybe this was some kind of mypy issue, but time will tell.
I haven't seen exactly this error getting posted anywhere. I know this is a fairly recent change and it looks like there's a lot of type hinting work going on (excellent work! I love it, thank you numpy devs!).
Anyone else got any insight on what's going on here? Is this a known issue? Is this a mypy issue?
Thanks everyone.
I'd be very curious to know if 0.982 fixes things. I know that using python 3.10.7 causes problems for mypy < 0.981. Chuck

On Mon, Oct 10, 2022 at 1:35 PM Charles R Harris <charlesr.harris@gmail.com> wrote:
On Mon, Oct 10, 2022 at 12:27 PM Nick Gerner <nick.gerner@gmail.com> wrote:
I upgraded from 1.21 to 1.23.3 recently and got a variety of mypy issues. I seem to have resolved all of them, but I occasionally still see this show up:
.venv/lib/python3.10/site-packages/numpy/_typing/_array_like.py:153: error: Type argument "_UnknownType" of "dtype" must be a subtype of "generic" [type-var]
On mypy 0.981 this is not 100% repro and if I restart dmypy it goes away... until it comes back. I just now upgraded to mypy 0.982 and didn't get it on one run, at least not right away. Maybe this was some kind of mypy issue, but time will tell.
I haven't seen exactly this error getting posted anywhere. I know this is a fairly recent change and it looks like there's a lot of type hinting work going on (excellent work! I love it, thank you numpy devs!).
Anyone else got any insight on what's going on here? Is this a known issue? Is this a mypy issue?
Thanks everyone.
I'd be very curious to know if 0.982 fixes things. I know that using python 3.10.7 causes problems for mypy < 0.981.
Chuck
Sadly, it does not seem to resolve the problem. I've run into the issue with mypy 0.982 several times today. I am running python 3.10.7. I've posted to the mypy gitter as well in case it's an issue on their end. I guess I should add that I haven't seen it running mypy, only running dmypy. That and the fact that it's not 100% repro does make it seem like a mypy issue. I appreciate the attention. --Nick

On Mon, Oct 10, 2022 at 11:02 PM Nick Gerner <nick.gerner@gmail.com> wrote:
On Mon, Oct 10, 2022 at 1:35 PM Charles R Harris < charlesr.harris@gmail.com> wrote:
On Mon, Oct 10, 2022 at 12:27 PM Nick Gerner <nick.gerner@gmail.com> wrote:
I upgraded from 1.21 to 1.23.3 recently and got a variety of mypy issues. I seem to have resolved all of them, but I occasionally still see this show up:
.venv/lib/python3.10/site-packages/numpy/_typing/_array_like.py:153: error: Type argument "_UnknownType" of "dtype" must be a subtype of "generic" [type-var]
On mypy 0.981 this is not 100% repro and if I restart dmypy it goes away... until it comes back. I just now upgraded to mypy 0.982 and didn't get it on one run, at least not right away. Maybe this was some kind of mypy issue, but time will tell.
I haven't seen exactly this error getting posted anywhere. I know this is a fairly recent change and it looks like there's a lot of type hinting work going on (excellent work! I love it, thank you numpy devs!).
Anyone else got any insight on what's going on here? Is this a known issue? Is this a mypy issue?
Thanks everyone.
I'd be very curious to know if 0.982 fixes things. I know that using python 3.10.7 causes problems for mypy < 0.981.
Chuck
Sadly, it does not seem to resolve the problem. I've run into the issue with mypy 0.982 several times today. I am running python 3.10.7.
I've posted to the mypy gitter as well in case it's an issue on their end. I guess I should add that I haven't seen it running mypy, only running dmypy. That and the fact that it's not 100% repro does make it seem like a mypy issue.
That's a safe guess I think. Mypy is very flaky, and it hasn't gotten better over time. Its caching is broken so runs aren't reproducible, as you are seeing here. Every new release breaks things, and even the same release behaves differently between Python versions (including bugfix versions). For projects with complex type annotations like NumPy, you cannot count on Mypy working fully beyond the exact config that is tested in CI. For individual projects, the solution is to pin down that one config that has to pass, and always use that in CI and local development. But that doesn't help end users, because they're mixing different libraries into one environment. I'm not sure if there's a better solution than filing Mypy bugs and using `# type: ignore` liberally. Ralf
participants (3)
-
Charles R Harris
-
Nick Gerner
-
Ralf Gommers