When I publish a pre-release on PyPI and install with pip install --pre my-package, also the build system requirements are used, like Cython 3*.b instead of 0.29
Is it possible to prevent using beta build requirements when the package itself is beta?
Not exactly what you’re asking for, but one option would be to constrain the version of Cython it requires, e.g. Cython >= 0.29, <1, and extend it when Cython 3.0 is out and you can check that it works. This also protects it against whatever changes in Cython 4.0.
Of course, there’s always a downside: your package might fail to build on a new version of Python if a new version of Cython is needed to do so. Capping the supported Python version is not a good idea because of the way the resolver responds to that - see this thread.