Postmortem (15 minutes)
Engineering
Python
postmortem

When Python 3 was released over a decade ago, it was slow and missing important features, in addition to being non-backwards-compatible. It took many years until the issues were resolved and most libraries added support for Python 3. Soon, Python 2 will finally reach the end of its life: when 2020 arrives, Python 2 will no longer be supported.

The amount of Python 2 code still in use is enormous! Many projects and organizations now clearly need to port their codebases to Python 3, but this is a non-trivial task which is usually met with anxiety.

I'll tell how I ported a large, monolithic codebase from Python 2 to 3, which approach and tools I used, and what I learned in the process. This should give a good idea of what such an upgrade entails and how it may be approached.

Tal Einat