On Fri, Jun 5, 2020 at 7:42 PM Victor Stinner email@example.com wrote: [ munch ]
As far as I recall, Python 2 to Python 3 "flag day" like migration using 2to3 was *not* a success. 2to3 was only looking "forward".
The approach which worked was to use six to have a single code base working on Python 2 and Python 3. I'm trying to do the same. The six approach looks "backward" and it was more successful.
The Python 2 to 3 migration was criticised because it *wasn't* backwardly compatible with existing code. As you say, six is popular because then all your existing code still worked.
Unless I have badly misunderstood the discussions going on here for the past few months, the new Python C API *won't* be backward compatible and *will* break existing C extension code. So I think it would be good to have C extension modules that have been updated to the new API clearly identified, by not including Python.h