Support Python 3.10?

Are there any plans to support Python 3.10?

3 Likes

Python 3.10 will be released in October 2021, so it will be supported in the next TF release after that, assuming all dependencies will be migrated by release time.

4 Likes

Thank you very much for the update Mihai!

1 Like

Also, support for Python 3.9 is planned for TensorFlow 2.5.

2 Likes

As Python 3.10 has been released this week, here’s an update on the status:

Because python 3.10 has been released after TensorFlow 2.7 branch cut we couldn’t include it in the list of release jobs for TF 2.7.

However, we have it on the roadmap for TF 2.8 at the end of the year. Nightly releases with py3.10 support should happen quite soon and then the final release will have all the jobs.

Of course, this is all pending on our dependencies having the needed support.

3 Likes

Currently I think wrapt and h5py are still not available as binary for python 3.10.

1 Like
1 Like

Build Python 3.10 wheels for Mac by takluyver · Pull Request #1987 · h5py/h5py · GitHub has now landed and released in h5py v3.6.

1 Like

Awesome. Thank you for the updates.

We should then have nightly jobs soon, probably around next week.

Considering our python 3.10 support I want to add just a side note. I hope to be not too much off topic.

In numpy NEP 0029 DROP schedule I currently see:

On Dec 26, 2021 drop support for Python 3.7 (initially released on Jun 27, 2018)

This is quite interesting as for python 3.8 stats we already have some compatibility peak of 43.5% with manylinux_2_31 (PEP 600).

Why manylinux_2_31 stats are so interesting?
Cause currently we need to handle the overhead of build/porting Centos devtoolset in our Ubuntu based images just for producing manylinux_2010 wheels:

As you can see there we already work with Ubuntu 20.04 that is manylinux_2_31 compliant to build and distribute our wheels.

So monitoring these stats, when we evaluate that we have enough support numbers, we could remove this build, download, management and disk size overhead devtoolset layer overhead.