Stats on Python 3.14 support on PyPI

We should aim to have an ecosystem where Python releases are usable day 1 and where it is easy for users to test their code prerelease if they want to.

I’m happy to report that Python 3.14 was the best Python release ever on this dimension! I have some code in GitHub - hauntsaninja/python_readiness: Are your dependencies ready for new Python? that lets me assess whether a package supports a given Python version (check it out, I’ve found it quite helpful for upgrading).

Running this on the top 15000 PyPI packages (thanks hugovk!), we see on day 1, 1289 packages explicitly support Python 3.14 (as opposed to 994 for 3.13)

It’s also interesting to look only at packages with version-specific wheels. Often the lack of a version specific wheel is a hard blocker for users (compared to pure Python packages, where explicit support might just mean an extra entry in the test matrix and adding the classifier). Here we see on day 1 that 347 packages have wheels that support Python 3.14 (as opposed to 178 for 3.13)

I said this last year too, but every time one of those lines moves, it’s because someone somewhere did something in response to a new Python version, and made that labour freely available on the internet — this will never not be insanely cool to me.

22 Likes

What happened 120 days ago that suddenly 100 packages with version specific wheels had 3.14 wheels?

2 Likes

I think that was the release of cibuildwheel 3.0: Release v3.0.0 · pypa/cibuildwheel · GitHub . I’m pretty sure there’s also a change in the first derivative when cibuildwheel 3.1 came out: Release v3.1.0 · pypa/cibuildwheel · GitHub

8 Likes