
On 24. 01. 20 5:59, Ethan Furman wrote:
My understanding is that this postponement of removals is aimed at those who have just migrated to Python 3, not those who have already done it nor those who have 2/3 straddling code bases.
No, the motivation to pospone the changes to 3.10 are projects that alrady support both 2 and 3 at the same time, with or without compatibility libraries like six. Before they had anough time to make the necessary actions to abandon Python 2.7, we ask them to support 3.9 from the same code base. Hence, they need to replace simple code: from collections import Sequence With either: try: from collections.abc import Sequence except ImprotError: # Python 2.7 doesn't have collections.abc from collections import Sequence Or: from compatlib.moves.collections_abc import Sequence In both cases, we move the burden of having a compatibility layer of some sort from one central location (Python 3.9 stdlib) to dozens (hundreds?) locations.
For those who have been on 3 for a while, updating to use the newer APIs for 3.9 vs 3.10 shouldn't make a difference.
For Python 3 only projects? No, no difference.
Like-wise for those with 2/3 straddling code bases (we'll just need to add a few more things to our shims).
And our point is that because it's too early in 2020 to drop Python 2 code, it is better to encourage projects to update the code as Python 3 only in a year than to let them add more shims now just to hopefully remove them in couple months.
Anyone who hasn't supported/used Python 3 until now shouldn't have a problem with sticking with 3.8 until they are ready to make more adjustments, and those who have had to keep Python 2 around to run those applications/frameworks/whatevers will, I should think, be thrilled to use any Python 3 instead. :-)
This does not affect projects who don't support Python 3 yet. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok