The current count appears to 648.
That’s 0.138% of all PyPI projects (466520 at the moment) or
around 5.6% of all projects which publish binary wheel files on PyPI (11528 at the moment).
The stable ABI has been around for around 14 years now and pick up by the community is very very slow. Shouldn’t this tell us something ?
Before spending more time and effort on making stdlib extensions use the limited API (which then results in the extension being compatible to the stable ABI), I think we ought to ask ourselves whether this additional dimension of complexity in the Python C API is really something we want to keep maintaining for many many years to come.
You keep saying that the Python C API is hard to evolve due to the backwards compatibility requirements. The stable ABI / limited API makes this even harder, so I don’t follow your reasoning.
Given the low adoption rate, it would make much more sense, to drop the stable ABI / limited API and put the freed effort into the compatibility tooling you have started.
Projects could then still use older APIs with newer Python versions, so wouldn’t need to be updated with every new Python version. The only change would be to recompile the packages for new Python versions, but that’s easily done using cbuildwheels, while at the same time removing a lot of the build headaches.
And the core team could focus on evolving the C API for the better, with more freedom and a working backwards compatibility plan.