Thanks for getting back Brett.
Let’s take a step back here. The goal is to provide the long dependency chain of libraries with more time to get their affairs in order during the pre-release phase of a new beta Python version. Many libraries can’t start testing because their testing and CI workflows require certain dependencies. However, often these dependencies are not built from scratch, but installed from wheels, to keep CI time and complexity in check. Especially scientific and geospatial packages have complex toolchain requirements to build wheels, which would be madness for each downstream project to manage.
The practical effect of this, is that many dependencies only start testing a new Python version when all the wheels of their upstream dependencies are available. This requires a large coordinated effort to track the layers and layers of upstream dependencies down that don’t have Python 3.13 wheels uploaded yet.
Worse, many projects have robust but strict version control and release protocols. Most often new wheels only get uploaded on a new release, which means there can be some delay between wheels compiling and them being uploaded to PyPI. Backports are not always possible, and often also take some delay.
Currently this whole process is cramped in a mere two months, this year between 2024-07-30 and 2024-10-01. Of which the first month there are many vacations.
So this is the reality we have to deal with - at least from my perspective. Now the problem with the solution you’re proposing, is that I can’t ask “hey dear small upstream dependency, running fully on volunteers, could you please upload manually-build nonstable-ABI wheels to PyPI, because we need to start testing. Oh and by the way, please track any CPython ABI changes, and be ready to re-upload on a change. By the way, PyPI doesn’t allow anything to mark them as pre-ABI, so be ready to explain all this stuff to your regular users”
And that to dozens of projects.
So, what we’re missing, is a system to deal with ABI changes or with beta wheels.
This problem could be solved on many different levels. I think about now I suggested about all of them in this thread and the previous one.
If we can get some system to properly manage pre-release / nonstable ABI wheels, that would increase the test time from a mere two months to close to half a year.
So on what level do we need to discuss this to move it forward? Do we consensus about what the problem is, and do we need to discuss potential solutions? Or don’t we and do we need to discuss that?