Guido van Rossum
๐ค SpeakerAppearances Over Time
Podcast Appearances
No new modules in the standard library, no new built-in functions.
Everything will be, at the Python level, will be purely compatible with Python 3.19.
However...
Extension modules will have to make a change.
They will have to be recompiled.
They will not have the same binary interface.
The semantics and APIs for some...
things that are frequently accessed by C extensions will be different.
And so for a pure Python user, 4.0 would be a breeze, except that there are very few pure Python users left because everybody who is using Python for something significant is using third-party extensions.
There are like, I don't know, several hundreds of thousands of third-party extensions on Python
the PyPI service.
And I'm not saying they're all good, but there is a large list of extensions that would have to do work.
And some of those extensions are currently already low on maintainers and they're struggling to keep afloat.
Yeah, we'd probably have to do something like
Several years before, who knows, maybe five years earlier, like 3.15, we would have to say, and I'm just making the specific numbers up, but at some point we'd have to say the Nogail Python could be an option.
It might be a compile time option.
If you want to use Nogil Python, you have to recompile Python from source for your platform using your tool set.
All you have to do is change one configuration variable and then you just run make or configure and make and it will build it for you.
But now you also have to use the Nogil compatible versions of all extension modules you want to use.
And so as long as many extension modules don't have fully functional sort of variants that work in the NoGill world, that's not a very practical thing for Python users, but it would allow extension developers to test the waters, see what they need to syntactically to be able to compile at all.