Description
I think we should stop cythonizing our sdist releases uploaded to PyPi. Cython is not forward compatible, meaning that a sdist generated for Py3.7 will very likely fail to install on Py3.8 (this also applied to Py3.6 -> Py3.7 before). At the same time Python is mostly backward compatible, so code written for py3.6 is going to work with Py3.7 (with maybe a few warnings).
So by cythonizing sdist releases we are hurting reproducibility because it will not be possible to install current scikit-learn from sources with latest python a few years from now.
There have been a few issues related to this as far as I remember.
Instead we should add cython as a build dependency.
This will be transparent for most users, that use pre-build wheels anyway.
Numpy is also going in that direction numpy/numpy#14453 and I think we should too.