On Mon, Oct 10, 2022 at 11:02 PM Nick Gerner <nick.ger...@gmail.com> wrote:
> On Mon, Oct 10, 2022 at 1:35 PM Charles R Harris < > charlesr.har...@gmail.com> wrote: > >> >> >> On Mon, Oct 10, 2022 at 12:27 PM Nick Gerner <nick.ger...@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
_______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: arch...@mail-archive.com