We've been encouraging developers towards Python 3 compatibility (using the
logging module, using the
format() method to format strings, new
print() syntax, new
except syntax, etc).
We're somewhat caught between a rock and a hard spot: Python 2.7 is the only Python that ships with macOS, so unless we want to bundle Python 3 (which is a HUGE undertaking), we are stuck with that constraint. But, I would also encourage everyone to not worry overly about it - first, Python security upgrades to 2.7 have been few and far between over the past couple of years (and Apple is even slower to adopt them), so just because the Python community is ending updates/support doesn't mean that it will magically stop working. It can't be overstated how much python 2 stuff is still out there running. Second, while Apple does like to spring stuff on developers, I don't see them removing Python out of hand, particularly given how behind they tend to be in terms of versions shipping with macOS.
I would just recommend that developers get somewhat comfortable with the required changes that Python will/may bring. There are articles out on the net comparing things that change from 2 to 3 (
like this one), so familiarizing yourself with those is not a bad idea. That's not to say look at new features to Python 3, only the things in Python 2 that break Python 3. When we do make the switch, we'll try to ensure that all the base classes absorb as many of those changes as possible so that the things that might effect you are mitigated.