On Sun, Sep 26, 2021 at 3:38 AM <jack.jan...@cwi.nl> wrote: > Open3D is an example. Will finally move to Python 3.9 some time the coming > month. Its dependency graph contains about 70 other packages. > > In this specific case, the underlying problem was that TensorFlow was stuck > at 3.8. The TensorFlow codebase got ported in November 2020, then released > early 2021. Then Open3D included the new Tensorflow (plus whatever else > needed to be adapted) in their codebase in May. They’re now going through > their release schedule, and their 0.14 release should be up on PyPI soon.
I took a minute to look up the release dates to fill in this timeline: Python 3.9 released: October 2020 Tensorflow adds 3.9 support: November 2020 Tensorflow v2.5.0 released with the new 3.9 support: May 2021 Open3d adds 3.9 support: May 2021 First Open3d release to include the new 3.9 support: ~October 2021 So it seems like in this case at least, the year long delay consists of ~1 month of porting work, and ~11 months of projects letting the finished code sit in their repos without shipping to users. It seems like the core problem here is that these projects don't consider it important to keep up with the latest Python release. I'm not sure what CPython upstream can do about that. Maybe you could lobby these projects to ship releases more promptly? By contrast, to pick a random library that uses the unstable C API extensively, NumPy is already shipping wheels for 3.10 -- and 3.10 isn't even out yet. So it's certainly possible to do, even for projects with a tiny fraction of Tensorflow's engineering budget. -n -- Nathaniel J. Smith -- https://vorpus.org _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/OGBANTGGJAI2ZM5SYSLCWFGRIML5VWUL/ Code of Conduct: http://python.org/psf/codeofconduct/