Skip to content

Compiled wheels for Python 3.15 alpha to avoid severe CI slowdown #21229

@pomponchik

Description

@pomponchik

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions