Upon a close look, python dependent packages are of course bound to the version of python they are made against, as well as any packages built against those, like stuff dependent on pygtk, all has to be coordinated to that specific python version. That leaves about three approaches for a python upgrade. The first time involved few python dependent packages, so it was pretty simple. Now we have gnome and a whole lot of other stuff that uses python.
First approach is to rebuild everything to the new python version, and replace the existing python dependent packages and everything that depends on them. A lot of work, but would be a clean upgrade.
Second is to apply the relevant python version number to python dependent packages, like pygtk2.7, so to know which python they belong to. This would allow more than one version of python installed at once for those dependent packages, but would not be a clean system and would be confusing. As well as the fact that there would have to be a separate dependency stack for each python version in the repo supported by this. That would not result in a clean repo and would be confusing and there would be duplication even if it could be pulled off. Compiling in that environment would be frustrating to say the least.
Third would be the approach that Debian uses, and that is include support for both versions of python in python dependent apps like pygtk, with files in both /usr/local/lib/python2.6 and /usr/local/lib/python2.7 in the same extension. Debian can manage it, but I don't think that is either feasible or in the spirit of TC to include both versions in the same extension, with the possible errors and all that it would entail.
Though I have stated differently during the 1.x days, I dare to suggest that we forgo keeping with the latest python as they are released and instead time the update with a major TC upgrade, starting afresh with a new python extension in the case of an upgrade that requires a recompile, which won't be every time. Since a major TC version includes a toolchain and kernel upgrade, so many extensions are rebuilt to take advantage of that anyway. Though it would mean starting from scratch on a TC upgrade that a python upgrade is also decided, at least there is stability within each TC version's repo. This approach is the only remaining one for an openssl upgrade, and I think python qualifies to be in that same category given the scope of the repo.
Please share any thoughts or ideas.