Hi, thanks for maintaining mypy.
I'm running mypy in CI across several Python versions, including Python 3.15 alpha, and noticed a very large slowdown only on the newer interpreter where pip falls back to the pure-Python wheel.
Project context:
- OS in the slow job:
ubuntu-latest on GitHub Actions
- Python version:
3.15.0-alpha.1
- mypy version tested:
1.20.1
- CI command:
mypy --strict skelet and mypy tests --exclude tests/typing
- The same CI matrix also runs Python
3.8 through 3.14 and 3.14t
What I observed:
- On Python
3.14 and 3.14t, mypy==1.20.1 installs compiled wheels and runs quickly.
- On Python
3.15.0-alpha.1, pip installs the pure-Python py3-none-any wheel.
- The Python 3.15 alpha job is much slower than the other jobs, while the checked code and mypy commands are the same.
I also checked wheel selection with pip. For Python 3.14 free-threaded, a compiled wheel exists:
mypy-1.20.1-cp314-cp314t-manylinux2014_x86_64...
But for Python 3.15 alpha, pip falls back to:
mypy-1.20.1-py3-none-any.whl
This makes mypy noticeably slower in CI. In my project, moving from an older pure-Python mypy wheel to a compiled wheel reduced typing-related CI time dramatically on Python 3.14. The remaining slow job is now Python 3.15.0-alpha.1.
Would it be possible to publish compiled wheels for Python 3.15 alpha, for example cp315 Linux wheels, while Python 3.15 is still in alpha/beta? That would make it practical to keep testing projects against upcoming Python versions without paying the pure-Python mypy performance cost.
I understand that alpha Python support may be more maintenance work, so even a note about whether such wheels are planned would be helpful.
Thanks.
Hi, thanks for maintaining mypy.
I'm running mypy in CI across several Python versions, including Python 3.15 alpha, and noticed a very large slowdown only on the newer interpreter where pip falls back to the pure-Python wheel.
Project context:
ubuntu-lateston GitHub Actions3.15.0-alpha.11.20.1mypy --strict skeletandmypy tests --exclude tests/typing3.8through3.14and3.14tWhat I observed:
3.14and3.14t,mypy==1.20.1installs compiled wheels and runs quickly.3.15.0-alpha.1, pip installs the pure-Pythonpy3-none-anywheel.I also checked wheel selection with pip. For Python 3.14 free-threaded, a compiled wheel exists:
But for Python 3.15 alpha, pip falls back to:
This makes mypy noticeably slower in CI. In my project, moving from an older pure-Python mypy wheel to a compiled wheel reduced typing-related CI time dramatically on Python 3.14. The remaining slow job is now Python
3.15.0-alpha.1.Would it be possible to publish compiled wheels for Python 3.15 alpha, for example
cp315Linux wheels, while Python 3.15 is still in alpha/beta? That would make it practical to keep testing projects against upcoming Python versions without paying the pure-Python mypy performance cost.I understand that alpha Python support may be more maintenance work, so even a note about whether such wheels are planned would be helpful.
Thanks.